java - 如何仅获取特定文件的父目录名称

标签 java groovy java-io

如何从test.java所在的路径名中获取ddd

File file = new File("C:/aaa/bbb/ccc/ddd/test.java");

最佳答案

使用 File's getParentFile() methodString.lastIndexOf() 来检索 just 直接父目录。

马克的评论是比lastIndexOf()更好的解决方案:

file.getParentFile().getName();

这些解决方案仅在文件具有父文件时才有效(例如,通过采用父 File 的文件构造函数之一创建)。当 getParentFile() 为空时,您需要使用 lastIndexOf,或使用类似 Apache Commons' FileNameUtils.getFullPath() 的东西:

FilenameUtils.getFullPathNoEndSeparator(file.getAbsolutePath());
=> C:/aaa/bbb/ccc/ddd

有几种变体可以保留/删除前缀和尾随分隔符。您可以使用相同的 FilenameUtils 类从结果中获取名称,使用 lastIndexOf 等。

关于java - 如何仅获取特定文件的父目录名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197049/

相关文章:

java - 在 Java 中打开非整数

groovy - 在 Groovy 中打印闭包定义/源

java - 通过 Java API 使用 Akka AbstractActorWithTimers

java - DataOutputStream 中的 System.out 未在控制台上打印

java - 当服务被杀死时销毁前台通知

java - 选项卡不占据屏幕的整个宽度

java - base64解码后的文件不等于原始未编码文件

java - 线程中的异常 "main"java.io.FileNotFoundException Java

java - IntelliJ IDEA 在 Gradle "test"任务之前不保存我的源代码

java - 来自 Java 源错误 : cannot find symbol 的 Grails 域类方法