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

时间:2012-05-14 14:59:09

标签: java file-io

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

3 个答案:

答案 0 :(得分:14)

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()

答案 1 :(得分:5)

添加中接受答案,因为问题还提到了库 Apache Common IO ,我使用这个漂亮的库报告以下解决方案:

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

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

答案 2 :(得分:3)

new File(fileToSave.getParent()).mkdirs();

它返回一个布尔值来检查是否成功(如果磁盘已满或者文件存在且名称为'upload',则会失败等)