我正试图使用java.io写入文件,我想在路径
是否有一种方法可以在写文件的过程中创建所需的任何目录?我正在寻找Java SDK中的一些方法,或者可以添加到类路径中的轻量级库,例如Apache Commons IO。
P.S. 为了清楚起见,我已经编写了一个解决方案,对于我正在测试的比较狭窄的方式有效,因此我不需要关于如何编写我正在寻找的方法的建议。我正在寻找一个方法,它将被相当好地测试,并且跨平台兼容。
"some/path/to/somewhere/then-my-file"
创建它。创建文件时,路径上的任何目录都可能存在或不存在。我不想因为这些目录不存在而抛出IOException异常,而是希望需要时,透明地创建目录。是否有一种方法可以在写文件的过程中创建所需的任何目录?我正在寻找Java SDK中的一些方法,或者可以添加到类路径中的轻量级库,例如Apache Commons IO。
P.S. 为了清楚起见,我已经编写了一个解决方案,对于我正在测试的比较狭窄的方式有效,因此我不需要关于如何编写我正在寻找的方法的建议。我正在寻找一个方法,它将被相当好地测试,并且跨平台兼容。
System.lineSeparator
给出的结果显然与replaceAll
不兼容,因为涉及到字符串和正则表达式等问题。我甚至使用了像这样可怕的正则表达式:separator=File.separator.replaceAll("'","\\\\'").replaceAll("\\\\","\\\\\\\\").replaceAll("\\\"","\\\\\"");
但它仍然不能正常工作。但显然有一个内置函数,我应该早点看到这一点。 - Fabian Röling