如何在 C # 中从一个完整的路径创建多个目录?

如果您有一个完整的路径,如: "C:\dir0\dir1\dir2\dir3\dir4\",您将如何最好地实现它,以便所有的目录都存在?

BCL 中有没有这样的方法? 如果没有,最优雅的方法是什么?

72438 次浏览

我会打电话给 Directory.CreateDirectory(@"C:\dir0\dir1\dir2\dir3\dir4\")

与流行的看法相反,Directory.CreateDirectory会自动创建不存在的父目录。
用 MSDN 的话说就是 Creates all directories and subdirectories as specified by path.

如果整个路径已经存在,它将什么也不做(它不会抛出异常)

从完整的文件路径创建目录

private String EvaluatePath(String path){


try
{
String folder = Path.GetDirectoryName(path);
if (!Directory.Exists(folder))
{
// Try to create the directory.
DirectoryInfo di = Directory.CreateDirectory(folder);
}
}
catch (IOException ioex)
{
Console.WriteLine(ioex.Message);
return "";
}
return path;
}