簡単な質問です。私はこのようなものを使用しています
FileStream fs = new FileStream(fileName, FileMode.Create);
フォルダーが存在しない場合にフォルダーを作成するように強制するために渡すことができるパラメーターがあるかどうか疑問に思っていました。現時点では、フォルダーが見つからない場合は例外がスローされます。
より良い方法がある場合は、FileStream
を使用してアイデアを受け入れます。
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 は、ファイル名のディレクトリ部分を返します。)
何かのようなもの:
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);
}
}