如何自动创建丢失的文件夹?

use*_*234 11 java file-io

在java中,我需要将一个字符串写入一个新文件,如'c:\ test\upload\myfile.txt',如果'upload'文件夹不存在,它将自动创建它.怎么做 ?Apache Commons IO有这个API吗?

Mat*_*der 15

File file = new File(...);
file.mkdirs(); //for several levels, without the "s" for one level
FileWriter fileWriter = new FileWriter(file);
fileWriter.write("...");
Run Code Online (Sandbox Code Playgroud)

创建此抽象路径名指定的目录,包括任何必需但不存在的父目录.请注意,如果此操作失败,则可能已成功创建一些必需的父目录.

返回: 当且仅当创建目录时才返回 true,以及所有必需的父目录; 否则是假的

请参见File.mkdirs()File.mkdir()


Jea*_*ean 6

除了要接受的答案,因为这个问题也提到了图书馆Apache的通用IO,我在下面的解决方案通过使用这个漂亮的图书馆报告:

File file = new File("...  the directory path ..."); 
FileUtils.forceMkdir(file);
Run Code Online (Sandbox Code Playgroud)

该解决方案使用FileUtilsorg.apache.commons.io和方法中的类forceMkdir创建目录,包括任何必要但不存在的父目录 ”。

  • 此解决方案将强制您捕获异常(如果您传递现有文件,则为`IOException`)。 (3认同)