在java中,我需要将一个字符串写入一个新文件,如'c:\ test \ upload \ myfile.txt',如果'upload'文件夹不存在,它将自动创建它。怎么做 ? Apache Commons IO有这个API吗?
答案 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,以及所有必需的父目录;否则是假的
答案 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',则会失败等)