这个问题与这个问题非常相似:如何仅获取特定文件的直接父目录名称
但是他想要获取最近的父目录,而我想要能够选择其他“父目录”,例如:
bbb或ccc(考虑到所提到的问题的相同示例)
File file = new File("C:/aaa/bbb/ccc/ddd/test.java");
我尝试了file.getParent().getParent();
但不起作用。
注意:如果可能,我不想在路径上使用正则表达式。
这个问题与这个问题非常相似:如何仅获取特定文件的直接父目录名称
但是他想要获取最近的父目录,而我想要能够选择其他“父目录”,例如:
bbb或ccc(考虑到所提到的问题的相同示例)
File file = new File("C:/aaa/bbb/ccc/ddd/test.java");
我尝试了file.getParent().getParent();
但不起作用。
注意:如果可能,我不想在路径上使用正则表达式。
getParent()
返回一个 String
类型的结果 - 你不能在一个 String
上调用 getParent()
方法。
相反,你需要使用 getParentFile()
方法:
File grandparent = file.getParentFile().getParentFile();
getParent()
返回一个字符串;getParent()
返回一个文件。
Boolean fileNameChangedCheck = file.renameTo(
new File(filePath.getParentFile(), "changedFileName"));
这里filePath.getParentFile()
不能被filePath.getParent()
替换;
JAVA API中还有更多;
file.getParent().getParent()
不起作用了吗?发生了什么事?(如果你有想法并尝试过,你应该总是说出发生了什么。) - Jon Skeet