2014-01-23 2 views
4

Я хочу собрать все (под) каталоги в каталоге, соответствующем имени, используя Apache IO Commons. Хотя я могу решить эту задачу для файлов с помощью NameFileFilter в сочетании с FileUtils.listFiles, я не могу найти решение для этого для папок.Список каталогов с заданным именем рекурсивно с Java

Я попробовал следующий фрагмент кода:

IOFileFilter fileFilter = new NameFileFilter(fileName); 
Collection<File> fileList = FileUtils.listFilesAndDirs(rootFolder, fileFilter, TrueFileFilter.INSTANCE); 

Он идентифицирует папки и вложенные папки, но не фильтрует их по NameFileFilter. Что я делаю не так?

ответ

3

Ваш код только ищет файлы с этим именем, а не для каких-либо каталогов.

Это должно работать:

IOFileFilter nameFilter = new NameFileFilter(fileName); 
Collection<File> fileList = FileUtils.listFilesAndDirs(rootFolder, 
    new NotFileFilter(TrueFileFilter.INSTANCE), 
    nameFilter); 
Смежные вопросы