我需要提取与给定目录中的文件名匹配的文件 建议我最好的方法来获取具有文件实际路径的匹配列表。
结果应为列表
String directory = "/home/xxx/yyy"
File currentDir = new File(directory)
final String expectedFile = "expectedFile.txt";
currentDir.eachFileRecurse(FileType.FILES) {
if(it.name.equals(expectedFile)) {
println it
}
}
答案 0 :(得分:1)
考虑以下示例,该示例使用正则表达式在.txt
及其子目录中查找所有/foo/bar/xyz
文件:
String directory = "/foo/bar/xyz"
File currentDir = new File(directory)
final String expectedFilePattern = /.*\.txt/
def files = []
currentDir.eachFileRecurse(groovy.io.FileType.FILES) {
if (it.name ==~ expectedFilePattern) {
files << it
}
}
files.each { println it.absolutePath }