[Java]インタフェースFilenameFilterを実装する
構文
1.public interface FilenameFilter
このインタフェースを実装するクラスのインスタンスは、ファイル名にフィルタをかけるために使用されます。
2.boolean accept(File dir,String name)
指定されたファイルをファイル・リストに含めるかどうかをテストします。
パラメータ:
dir – ファイルが見つかったディレクトリ。
name – ファイルの名前。
戻り値:
名前をファイル・リストに含める場合はtrue、そうでない場合はfalse。
使用例
package com.arkgame.bat; import java.io.File; import java.io.FilenameFilter; public class FileListDemo { // ファイルパスを指定 private static String DIR_PATH = "c:\\study\\arkgame\\"; // 指定ファイル名文字 private static String FILTER_NAME = "study"; public static void main(String[] args) { // 読み取り専用 fileList(DIR_PATH); } public static void fileList(String fileName) { File file = new File(DIR_PATH); // ディレクトリを示す文字列の配列を返す String[] fleArr = file.list(new FilenameFilter() { @Override public boolean accept(File ft, String name) { if (name.indexOf(FILTER_NAME) != -1) { return true; } return false; } }); System.out.println(DIR_PATH + "パス直下" + FILTER_NAME + "を含むリスト一覧"); for (String filename : fleArr) { System.out.println(filename); } } }
実行結果
c:\study\arkgame\パス直下studyを含むリスト一覧
study.txt
study_memo