FilenameFilterはDirFilter、ポジティブでディレクトリ内のファイル名をフィルタリングする発現可能で達成しました。
また、他の方法でフィルタ等のサイズ、種類、に似た他のフィルタ、実現することができます!
クラス DirFilter 実装FilenameFilter { プライベート柄のパターン。 公共DirFilter(文字列の正規表現){ パターン = Pattern.compile(正規表現)。 } @Override 公衆 ブール(ファイルディレクトリ、文字列名){受け入れる 戻りpattern.matcher(名).matchesを(); } }
- すべてのファイルを取得します。
正規表現: "[\\ S \\ S] *" は、任意の長さの文字を示します。
@Test 公共 無効DirFileter(){ ファイルパス = 新しい新しいファイル( "" ); String []型一覧、 一覧 = path.list(新新 DirFilter( "[S \\ \\ S] *" )); // リストpath.list =(); // 正規表現得る決して は、Arrays.sort(一覧、String.CASE_INSENSITIVE_ORDER)を、 ため(文字列dirItem:リスト){ のSystem.out.println(dirItem); } }
結果:
- 「* [AZ]」:正規表現:特定のファイルを入手
@Test 公共 ボイドDirFileter2(){ ファイルパス = 新しいファイル( "" )。 String []型のリスト。 リスト = path.list(新 DirFilter( "[AZ] *" )); Arrays.sort(リスト、String.CASE_INSENSITIVE_ORDER)。 用(文字列dirItem:リスト){ のSystem.out.println(dirItem)。 } }
結果:ファイル名にはすべて小文字をゲット