在C#中创建文件系统路径分支

时间:2012-04-23 11:02:12

标签: c# path

我认为这可能是一个非常简单的问题(对某些人来说)。给定一个路径,比如C:\ A \ B \ C \ D \,在系统上重新创建该路径的最有效,紧凑和优雅的方法是什么,假设它尚不存在(C:\ A \ B当然可能在c#?

我唯一能想到的就是一个相当肮脏的小路径解析器,它带来了所有潜在的陷阱。我相信这里的很多人以前都会遇到这个小问题,并且有一个比我想出的更好的解决方案。

那么,你的想法请先生们(以及女士们)?

6 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

MSDN example

    // 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 {}

答案 2 :(得分:1)

        Directory.CreateDirectory(@"C:\A\B\C\D\");

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

答案 3 :(得分:1)

您可能需要查看MSDN和'目录。外观'方法。

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

答案 4 :(得分:1)

Directory.CreateDirectory会照顾你。

答案 5 :(得分:1)

 string folderPath = "C:\A\B\C\D"
 if (!System.IO.Directory.Exists(folderPath))
                System.IO.Directory.CreateDirectory(folderPath);