FileFilter — 추상 경로명 필터
FileFilter — 추상 경로명 필터
FileFilter는 추상 경로명에 대한 필터예요. 이 인터페이스의 인스턴스는 File 클래스의 listFiles(FileFilter) 메서드에 전달될 수 있어요.
본문
이 인터페이스는 java.io 패키지에 있는 함수형 인터페이스(functional interface)이므로 람다 표현식이나 메서드 참조의 할당 대상으로 사용할 수 있어요. 디렉터리 목록을 나열할 때 어떤 파일을 포함할지 조건을 정의하는 데 쓰여요. (참고: javax.swing.filechooser.FileFilter는 이름이 같지만 JFileChooser용의 별개 추상 클래스예요.)
메서드
boolean accept(File pathname)— 지정한 추상 경로명을 경로명 목록에 포함해야 하는지 여부를 테스트해요.pathname이 포함돼야 하면true를 반환해요.
FileFilter는 File.listFiles(FileFilter)와 함께 사용해 특정 조건(예: 확장자, 크기, 수정 시간)을 만족하는 파일만 골라낼 때 유용해요. 람다로 간결하게 작성할 수 있죠.
File[] textFiles = dir.listFiles(f -> f.getName().endsWith(".txt"));