【发布时间】:2014-04-23 17:31:07
【问题描述】:
我目前正在研究一种创建文件和目录的方法。下面是用例和问题的解释。
1) 当用户指定路径时,例如“/parent/sub folder/file.txt”,系统应该能够与file.txt一起创建目录。 (这个有效)
2) 当用户指定路径时,例如“/parent/sub-folder/”或“/parent/sub-folder”,系统应该能够创建所有目录。 (不起作用),它不会创建“/sub-folder/”或/sub-folder作为文件夹,而是创建一个名为“sub-folder”的文件。
这是我的代码
Path path = Paths.get(rootDir+"test/hello/");
try {
Files.createDirectories(path.getParent());
if (!Files.isDirectory(path)) {
Files.createFile(path);
} else {
Files.createDirectory(path);
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
【问题讨论】:
-
为什么不使用 .mkdr() 作为目录和文件?
-
mkdir() 做同样的事情,仍然会将应该是文件的目录。
-
如果您将路径指定为
/parent/sub-folder,JVM 将如何识别您要创建目录?我会创建并归档,这就是它应该做的。 -
那为什么我尝试
/parent/sub-folder/时没有创建文件夹? -
@Andre
Files.isDirectory仅检查现有文件夹,而不检查尚未创建的文件夹。如何区分文件路径和目录路径?