📜  删除目录 - C# (1)

📅  最后修改于: 2023-12-03 15:07:15.872000             🧑  作者: Mango

删除目录 - C#

在 C# 中,使用 Directory.Delete() 方法可以删除一个目录,但需要注意的是,这个方法只能删除空目录,如果目录中包含文件或子目录,则会抛出异常。

示例代码
using System.IO;

try
{
    Directory.Delete("path/to/directory");
}
catch (IOException e)
{
    Console.WriteLine(e.Message);
}
方法参数

Directory.Delete() 方法接受两个参数:

  • string path:要删除的目录的路径。
  • bool recursive:一个可选的布尔值,指定是否同时删除子目录和文件。如果为 true,则会递归删除目录中的所有内容;如果为 false,则只会删除目录本身,如果目录中包含文件或子目录,则会抛出异常。默认值为 false
错误处理

在删除目录时,可能会出现下列异常:

  • ArgumentExceptionpath 为空字符串 ("")、只包含空白或非法字符、或者包含一个或多个无效的字符。
  • ArgumentNullExceptionpath 为 null。
  • DirectoryNotFoundExceptionpath 指定的目录不存在。
  • IOExceptionpath 指定的目录包含文件或子目录,并且 recursive 参数为 false
  • NotSupportedException:路径格式不支持。
  • UnauthorizedAccessException:指定了访问权限不足的目录,或者删除了一个只读目录。
结论

C# 中删除目录的操作相对简单,只需调用 Directory.Delete() 方法即可,注意如果目录不为空则需要添加 recursive 参数为 true。同时在异常处理上要加以注意,避免程序出现异常情况。