我有一个我认为可能是一个非常简单的问题来回答(对于某人)。给定一个路径,比如 C:\A\B\C\D\,假设它不存在(C:\A\ B 可能,当然),在 c# 中?
我唯一能想到的就是一个看起来很脏的小路径解析器,其中包含所有潜在的陷阱。我相信这里的很多人之前都会遇到过这个小问题,并且有比我想出的更好的解决方案。
那么,您的想法请先生们(和女士们)?
System.IO.Directory.CreateDirectory(@"C:\A\B\C\D\")
会做得很好。
// Specify the directories you want to manipulate.
DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");
try
{
// Determine whether the directory exists.
if (di.Exists)
{
// Indicate that it already exists.
Console.WriteLine("That path exists already.");
return;
}
// Try to create the directory.
di.Create();
Console.WriteLine("The directory was created successfully.");
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
finally {}
Directory.CreateDirectory(@"C:\A\B\C\D\");
如果路径中不存在所有目录,则创建它们,甚至返回子目录的 DirectoryInfo 对象(在本例中为 D)。
您可能想查看MSDN和“Directory.exists”-方法。
通过这种方式,您可以检测“C:\A\B\C\D...”是否已经存在,如果不存在,您可以使用Directory.Create(String directoryName) ...创建它
Directory.CreateDirectory会为您处理这些。
string folderPath = "C:\A\B\C\D"
if (!System.IO.Directory.Exists(folderPath))
System.IO.Directory.CreateDirectory(folderPath);