2014-01-23 3 views
4

Apache IO Commons를 사용하여 주어진 이름과 일치하는 디렉토리 내의 모든 (하위) 디렉토리를 수집하려고합니다. 과 조합하여 NameFileFilter을 사용하는 파일에 대해이 작업을 해결할 수는 있지만 폴더에 대해이 작업을 수행 할 수있는 해결책을 찾을 수 없습니다. 주어진 이름의 디렉토리를 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); 
관련 문제