java - groovy 是否有一种简单的方法来获取没有扩展名的文件名?

标签 java file-io groovy file-extension

假设我有这样的事情:

new File("test").eachFile() { file->  
println file.getName()  
}

这将打印 test 目录中每个文件的完整文件名。有没有一种 Groovy 方法来获取没有任何扩展名的文件名? (或者我回到了正则表达式领域?)

最佳答案

我相信最时髦的方法是:

file.name.lastIndexOf('.').with {it != -1 ? file.name[0..<it] : file.name}

或使用简单的正则表达式:

file.name.replaceFirst(~/\.[^\.]+$/, '')

还有一个用于该目的的 apache commons-io java lib,如果您使用 maven,您可以轻松依赖它:

org.apache.commons.io.FilenameUtils.getBaseName(file.name)

关于java - groovy 是否有一种简单的方法来获取没有扩展名的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1569547/

相关文章:

java - 使用 ArrayList<Integer> 进行排列,在控制台中按 10 的大小打印

C:家庭作业中美元/美分的舍入和输出格式

c++ - 读/写 QObject

json - Soapui如何从json响应中提取特定值

java - 悲观锁不起作用 Spring Boot Data JPA

java - 如何使用 Powermockito 以便跳过私有(private)无效方法

java - 反复刷新页面渲染成功并返回错误

java - 从文件中确定最小和最大 double 值

android - Flutter .apk 已构建但未安装在设备/模拟器中

java - 从 Groovy 控制台运行 JUnit 测试