디렉토리의 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