只是一个简单的问题。我正在使用这样的东西
FileStream fs = new FileStream(fileName, FileMode.Create);
我想知道是否有一个参数我可以传递给它以强制它创建文件夹(如果它不存在)。如果找不到文件夹,则抛出异常。
如果有更好的方法,那么使用FileStream
我会接受想法。
答案 0 :(得分:116)
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返回文件名的目录部分。)
答案 1 :(得分:15)
类似的东西:
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);
}
}