java – groovy有一个简单的方法来获取文件名没有扩展名?

说我有这样的:

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

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

最佳答案
我相信最艰难的方式是:

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

或者用一个简单的regexp:

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

还有一个apache commons-io java lib的那种有用的目的,你可以很容易依赖如果你使用maven:

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

转载注明原文:java – groovy有一个简单的方法来获取文件名没有扩展名? - 代码日志