Лучший способ найти нужный файл со списком путей в каталоге в Groovy - PullRequest
0 голосов
/ 27 июня 2018

Мне нужно получить файлы, которые соответствуют имени файла в данном каталоге Предложите мне лучший способ получить список совпадений с фактическим путем к файлам.

Результатом должен быть список

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 голосов
/ 27 июня 2018

Рассмотрим следующий пример, в котором используется регулярное выражение для поиска всех .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 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...