Directory.Delete(string path)方法是C#中用于删除指定路径下的目录的方法。下面是详细的攻略:
方法概述
public static void Delete(string path);
参数path
是指要删除的目录的路径。
方法说明
Directory.Delete(string path)方法用于删除一个空目录或者一个非空目录。如果目录为空,它将被直接删除。如果目录非空,除非默认情况下传递了第二个参数bool recursive=false
,否则该方法将抛出异常。
注意:如果目录中存在只读文件或者子目录中的只读文件,删除方法将无法删除该目录,除非传递参数bool recursive=true
,即递归删除。
方法示例
示例1:删除空目录
以下示例展示如何删除一个空目录(D:\mydir
):
string directoryPath = @"D:\mydir";
if (Directory.Exists(directoryPath))
{
try
{
Directory.Delete(directoryPath);
Console.WriteLine("{0} 目录删除成功。", directoryPath);
}
catch (Exception e)
{
Console.WriteLine("删除目录出错: {0}", e.Message);
}
}
这个示例首先检查路径是否存在,然后使用Directory.Delete
方法删除该目录。
示例2:删除非空目录
以下示例展示如何删除一个非空目录(D:\mydir
),并且递归删除所有子目录和文件:
string directoryPath = @"D:\mydir";
if (Directory.Exists(directoryPath))
{
try
{
Directory.Delete(directoryPath, true);
Console.WriteLine("{0} 目录删除成功。", directoryPath);
}
catch (Exception e)
{
Console.WriteLine("删除目录出错: {0}", e.Message);
}
}
这个示例首先检查路径是否存在,然后使用Directory.Delete
方法删除该目录,并且递归删除其子目录和文件。
总结
总之,Directory.Delete(string path)方法是一个非常方便的方法,可以用来删除空目录或非空目录。如果要删除非空目录,则需要传递一个额外的参数为true
,即递归删除子目录和文件。当然,删除操作是一个危险的操作,建议在使用该方法前仔细确认。