代码之家  ›  专栏  ›  技术社区  ›  Ash Burlaczenko

文件流和创建文件夹

  •  54
  • Ash Burlaczenko  · 技术社区  · 15 年前

    只是个简单的问题。我在用这样的东西

    FileStream fs = new FileStream(fileName, FileMode.Create);
    

    我想知道是否有一个参数可以传递给它,以强制它在不存在的情况下创建文件夹。目前,如果找不到文件夹,则引发异常。

    如果有更好的方法,那么使用 FileStream 我乐于接受各种想法。

    2 回复  |  直到 7 年前
        1
  •  112
  •   dtb    15 年前

    使用 Directory.CreateDirectory :

    directory.createDirectory方法(字符串)

    按路径指定创建所有目录和子目录。

    例子:

    string fileName = @"C:\Users\SomeUser\My Documents\Foo\Bar\Baz\text1.txt";
    
    Directory.CreateDirectory(Path.GetDirectoryName(fileName));
    
    using (FileStream fs = new FileStream(fileName, FileMode.Create))
    {
        // ...
    }
    

    ( Path.GetDirectoryName 返回文件名的目录部分。)

        2
  •  15
  •   to StackOverflow    7 年前

    类似:

    void EnsureFolder(string path)
    {
        string directoryName = Path.GetDirectoryName(path);
        // If path is a file name only, directory name will be an empty string
        if (directoryName.Length > 0)
        {
            // Create all directories on the path that don't already exist
            Directory.CreateDirectory(directoryName);
        }
    }