ディレクトリの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