回答
簡單代碼:
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');
或者:
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);
這與@JuniperBelmont的基本相同,區別在於使用'create'而不是'createSync'。使用異步API並不總是更有效,因爲最近的討論特別針對不涉及耗時操作的操作(完整討論:https://groups.google.com/a/dartlang.org/forum/#! topic/misc/uWy-rO5sz_k) – 2014-10-11 14:17:02
我試圖在這裏得到的區別是你不需要調用新目錄來創建不存在的目錄。只需在遞歸參數爲true的情況下調用File的create方法即可。無論如何,我認爲它看起來有點清潔 – willsquire 2014-10-11 14:45:19
哈哈,改進! – willsquire 2014-10-11 14:57:14
- 1. 如何在傳統ASP中爲複製文件創建目標目錄結構?
- 2. 使用Scripting.FileSystemObject在尚不存在的路徑中創建文件
- 3. 如何在不在工作目錄中的目錄中創建文件夾
- 4. 爲文件/目錄樹創建結構
- 5. 創建目錄結構,如果它不存在Powershell
- 6. 如果不存在,創建文件和中間目錄
- 7. 如何在動態創建的目錄中創建文件?
- 8. 如何在「內部存儲」目錄中創建文件?
- 9. 如何在Android中不存在創建帶有子目錄的文件
- 10. 如何在不同的目錄中創建文件
- 11. 如何從構建目錄中的src目錄中創建?
- 12. h2xs:如何創建目錄結構
- 13. 如何創建目錄結構
- 14. 如何創建目錄和子目錄,如果它不存在SharePoint文件庫
- 15. 如果創建目錄不存在以創建文件,該如何創建目錄?
- 16. gradle在子文件夾中創建構建目錄
- 17. 在JSP上創建目錄樹結構
- 18. 如何在PRO文件中訪問Qt創建者的構建目錄
- 19. 創建目錄結構
- 20. 創建空目錄結構
- 21. 如何在C++中的其他目錄中創建文件?
- 22. 如何在Android中的特定目錄中創建.txt文件?
- 23. 從zip文件中提取時重新創建目錄結構
- 24. 在數據庫中創建目錄結構並在其中存儲數據
- 25. 在子目錄Python中創建文件?
- 26. 在指定目錄中創建文件
- 27. 在漫遊目錄中創建文件
- 28. 在php&mySQL中創建文件目錄
- 29. 在指定目錄中創建文件
- 30. 在主目錄中創建文件夾
我很好奇你如何指定這些目錄的文件權限。它不會出現,它們必然會從父項繼承。 – sager89 2016-10-19 19:39:07