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

2021年9月30日

構文
1.public interface FilenameFilter
このインタフェースを実装するクラスのインスタンスは、ファイル名にフィルタをかけるために使用されます。

2.boolean accept(File dir,String name)
指定されたファイルをファイル・リストに含めるかどうかをテストします。
パラメータ:
dir – ファイルが見つかったディレクトリ。
name – ファイルの名前。
戻り値:
名前をファイル・リストに含める場合はtrue、そうでない場合はfalse。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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);
}
}
}
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); } } }
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