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