0

我有一个我认为可能是一个非常简单的问题来回答(对于某人)。给定一个路径,比如 C:\A\B\C\D\,假设它不存在(C:\A\ B 可能,当然),在 c# 中?

我唯一能想到的就是一个看起来很脏的小路径解析器,其中包含所有潜在的陷阱。我相信这里的很多人之前都会遇到过这个小问题,并且有比我想出的更好的解决方案。

那么,您的想法请先生们(和女士们)?

4

6 回答 6

3

System.IO.Directory.CreateDirectory(@"C:\A\B\C\D\")会做得很好。

于 2012-04-23T11:05:21.243 回答
2

MSDN 示例

    // 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 {}
于 2012-04-23T11:11:20.677 回答
1
        Directory.CreateDirectory(@"C:\A\B\C\D\");

如果路径中不存在所有目录,则创建它们,甚至返回子目录的 DirectoryInfo 对象(在本例中为 D)。

于 2012-04-23T11:05:43.553 回答
1

您可能想查看MSDN和“Directory.exists”-方法。

通过这种方式,您可以检测“C:\A\B\C\D...”是否已经存在,如果不存在,您可以使用Directory.Create(String directoryName) ...创建它

于 2012-04-23T11:06:04.403 回答
1

Directory.CreateDirectory会为您处理这些。

于 2012-04-23T11:06:09.943 回答
1
 string folderPath = "C:\A\B\C\D"
 if (!System.IO.Directory.Exists(folderPath))
                System.IO.Directory.CreateDirectory(folderPath);
于 2012-04-23T11:06:11.320 回答