在Groovy目录中找到具有路径列表的所需文件的最佳方法

时间:2018-06-27 13:58:56

标签: groovy

我需要提取与给定目录中的文件名匹配的文件 建议我最好的方法来获取具有文件实际路径的匹配列表。

结果应为列表

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
            }
        }

1 个答案:

答案 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 }