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

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

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

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

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

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

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

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

Guava还有Files.createParentDirs(File) 。