たとえば、ファイルを作成したいのですfoo/bar/baz/bleh.html
が、ディレクトリfoo
、foo/bar/
などは存在しません。
途中ですべてのディレクトリを再帰的に作成するファイルを作成するにはどうすればよいですか?
または:
new File('path/to/file').create(recursive: true);
または:
new File('path/to/file').create(recursive: true)
.then((File file) {
// Stuff to do after file has been created...
});
再帰的とは、ファイルまたはパスが存在しない場合に作成されることを意味します。参照: https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart-io.File#id_create
編集: この方法では、新しいディレクトリを呼び出す必要はありません! 必要に応じて、これを同期的に行うこともできます。
new File('path/to/file').createSync(recursive: true);
簡単なコード:
import 'dart:io';
void createFileRecursively(String filename) {
// Create a new directory, recursively creating non-existent directories.
new Directory.fromPath(new Path(filename).directoryPath)
.createSync(recursive: true);
new File(filename).createSync();
}
createFileRecursively('foo/bar/baz/bleh.html');