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

Gru*_*eck 6 java file-io cross-platform

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

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

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

ska*_*man 25

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

  • 请注意,如果mkdirs()无法创建目录,则它不会抛出IOException,它只返回false.检查目录是否已存在或是否已成功创建是一个好主意.如果(!directory.exists()&&!directory.mkdirs())抛出新的IOException("无法创建目录"+ dir); (8认同)