12

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

4

3 回答 3

15
File file = new File(...);
file.mkdirs(); //for several levels, without the "s" for one level
FileWriter fileWriter = new FileWriter(file);
fileWriter.write("...");

创建由此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建一些必要的父目录。

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

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

于 2012-05-14T14:59:53.037 回答
7

除了接受的答案之外,由于该问题还提到了库Apache Common IO,因此我在下面报告了一个使用这个不错的库的解决方案:

File file = new File("...  the directory path ..."); 
FileUtils.forceMkdir(file);

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

于 2013-04-12T18:43:16.313 回答
3
new File(fileToSave.getParent()).mkdirs();

它返回一个布尔值以检查制作是否成功(如果磁盘已满或存在名为“upload”的文件等将失败)

于 2012-05-14T15:25:36.910 回答