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

本文关键字:路径 分支 文件系统 创建 | 更新日期: 2023-09-27 18:31:55

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

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

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

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

>System.IO.Directory.CreateDirectory(@"C:'A'B'C'D'")就可以了。

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 {}
        Directory.CreateDirectory(@"C:'A'B'C'D'");

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

您可能想了解一下MSDN和"Directory.exists"-Method。

通过这种方式,您可以检测"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);