如何仅获取特定文件的父目录名称
如何从测试.java所在的路径名获取。ddd
File file = new File("C:/aaa/bbb/ccc/ddd/test.java");
如何从测试.java所在的路径名获取。ddd
File file = new File("C:/aaa/bbb/ccc/ddd/test.java");
使用 File
的 getParentFile()
方法,并仅检索直接父目录。String.lastIndexOf()
Mark的评论是一个比以下更好的解决方案:lastIndexOf()
file.getParentFile().getName();
这些解决方案仅在文件具有父文件(例如,通过采用父文件的文件构造函数之一创建)时才有效。当 为 null 时,您需要求助于使用 ,或者使用类似 Apache Commons 的 FileNameUtils.getFullPath()
的东西:File
getParentFile()
lastIndexOf
FilenameUtils.getFullPathNoEndSeparator(file.getAbsolutePath());
=> C:/aaa/bbb/ccc/ddd
有几种变体可以保留/删除前缀和尾随分隔符。您可以使用同一类从结果中获取名称,使用 等。FilenameUtils
lastIndexOf
从Java 7开始,您就有了新的Path api。现代和最清洁的解决方案是:
Paths.get("C:/aaa/bbb/ccc/ddd/test.java").getParent().getFileName();
结果将是:
C:/aaa/bbb/ccc/ddd