如何创建Java中不存在的路径和文件

时间:2014-04-05 00:15:14

标签: java nio

这就是我遇到的问题:如果部分或全部路径尚不存在,服务器应根据需要在层次结构中创建其他目录,然后如上所述创建新文件。

Files.createDirectories(path);

这就是我目前使用的,但它不会创建结束文件。例如,path =“/ hello / test.html”它将创建一个名为“hello”的目录和一个名为“test.html”的目录,我希望test.html成为一个文件。我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

这就是我为解决这个“问题”或滥用库所做的工作。

Files.createDirectories(path.getParent());
Files.createFile(path);

第一行将获取父目录,所以假设这是我要创建的“/a/b/c/hello.txt”,父目录将是“/ a / b / c /”。

第二个将在该目录中创建文件。

答案 1 :(得分:1)

你看过javadoc了吗? createDirectories只创建...目录。如果您打算使用Files.createDirectories,请解析文件名,调用仅传递路径部分的createDirectories,然后创建一个传递整个路径的新文件。否则this是一种更好的方法。

Files.createDirectories(path.substring(0, path.lastIndexOf(File.separator)+1));
File yourFile = new File(path);

答案 2 :(得分:0)

  1. 您可以解析“路径”'使用分隔符隔离文件和目录的变量' /'和do File file = new File(parsedPath);只有当你知道你总是在文件结尾处传递文件名时才会有效。

  2. 如果您知道何时a)创建目录b)创建目录和文件,您可以传递布尔变量来描述是否需要创建文件。