假设我希望创建(或覆盖)以下文件:- C:\Temp\Bar\Foo\Test.txt
使用 File.Create(..)方法,这个可以做到。
但是,如果我没有以下任一文件夹(来自上面的示例路径)
- 温度
- 酒吧
- 福
然后我得到一个 DirectoryNotFoundException抛出。
那么 .. 给定一个路径,我们如何递归地创建创建文件所需的所有文件夹......为该路径?如果 Temp 或 Bar 文件夹存在,但 Foo 不存在.. . 然后也创建了。
为简单起见,我们假设没有安全问题——所有权限都很好,等等。
最佳答案
总结其他答案中评论的内容:
//path = @"C:\Temp\Bar\Foo\Test.txt";
Directory.CreateDirectory(Path.GetDirectoryName(path));
Directory.CreateDirectory
将递归地创建目录,如果目录已经存在,它将无错误地返回。
如果 C:\Temp\Bar\Foo
恰好有文件 Foo
将抛出异常。
关于c# - 如果文件夹不存在,如何创建文件和任何文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3201598/