[Java]インタフェースFilenameFilterを実装する

2021年9月30日

構文
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

Java

Posted by arkgame