Java中用于在某个位置创建文件的方法,必要时创建目录?

时间:2009-11-17 23:07:56

标签: java file-io cross-platform

我正在尝试使用java.io编写一个文件,我试图在"some/path/to/somewhere/then-my-file"位置创建它。创建文件时,路径上的任何目录可能存在也可能不存在。因为没有这样的目录而不是抛出IOException,我希望在需要的时候透明地创建目录。

是否有一种方法可以在编写文件的过程中创建所需的任何目录?我正在寻找可以添加到类路径的轻量级库中的Java SDK,中的内容,例如Apache Commons IO。

P.S。为了清楚起见,我已经编写了一个解决方案,它适用于我正在测试它的相当狭窄的方式,所以我真的不需要有关如何编写我正在寻找的方法的建议。我正在寻找一种经过相当好的测试和跨平台的方法。

3 个答案:

答案 0 :(得分:25)

new File("some/path/to/somewhere/then-my-file").getParentFile().mkdirs()

答案 1 :(得分:2)

由于该问题还提到了库 Apache Common IO ,我在下面报告了一个使用这个漂亮库的解决方案:

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

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

答案 2 :(得分:2)