디렉토리의 listFiles 메소드는 해당 디렉토리의 내용을 리턴합니다. 이 메소드는 반환 할 파일 또는 디렉토리를 선택하는 매개 변수로 필터를 사용합니다. 파일 만 반환하는 필터가 구현됩니다.
FileFilter fileFilter = new FileFilter() { public boolean accept(File file) { return file.isFile(); } }; File[] tab = file.listFiles( fileFilter );
이 예의 코드는 디렉토리 v : / tmp에 디렉토리를 나열합니다. 먼저 코드가 file.isDirectory ()를 호출하여 테스트중인 폴더가 디렉토리인지 확인합니다. Object가 File 인 경우에만 true를 반환하는 FileFilter를 만듭니다. listFiles 메소드는 필터와 함께 호출됩니다. 출력에서 리턴 된 파일은 System.out에 기록되어 필터링을 확인합니다.
import java.io.File; import java.io.FileFilter; public class FolderListFiles { public static void main(String[] argv) { File file = new File("V:/tmp/"); if( file.isDirectory() ){ System.out.println( file.getName() + " 디렉토리 " ); } FileFilter fileFilter = new FileFilter() { public boolean accept(File file) { return file.isFile(); } }; // 필터를 사용하여 모든 파일 나열 File[] tab = file.listFiles( fileFilter ); System.out.println( "디렉토리의 파일은 다음과 같습니다." ); for( File current : tab ){ System.out.println( current.getAbsolutePath() ); } } }
tmp 디렉토리 디렉토리의 파일은 다음과 같습니다. V:\tmp\00012-capture.jpg V:\tmp\01805-capture.jpg V:\tmp\01807-capture.jpg