Java は、FileNameFilter クラスの accept() 関数を使用して、指定されたディレクトリ内のファイルをフィルタリングします。

WBOY
リリース: 2023-07-25 09:03:25
オリジナル
2001 人が閲覧しました

Java は、FileNameFilter クラスの accept() 関数を使用して、指定されたディレクトリ内のファイルをフィルタリングします。

はじめに:
Java では、指定されたディレクトリ内のファイルをフィルタリングする必要があることがよくあります。現時点では、FileNameFilter インターフェイスを使用してファイル名をフィルタリングできます。この記事では、FileNameFilter クラスの accept() 関数を使用してファイル フィルタリングを実装する方法と、対応するコード例を紹介します。

1. FileNameFilter とは何ですか?
FileNameFilter は、ディレクトリ内のファイルをフィルタリングするための accept(File dir, String name) メソッドを定義するインターフェイスです。このメソッドが true を返す場合は、ファイルが受け入れられたことを意味し、それ以外の場合は受け入れられません。

2. FileNameFilter を使用してファイルをフィルタリングするにはどうすればよいですか?
ファイル フィルタリングに FileNameFilter インターフェイスを使用する手順は次のとおりです。

  1. FileNameFilter インターフェイスを実装するクラスを作成し、accept() メソッドを実装します。この方法では、ファイル フィルタリングのルールを定義できます。
  2. 指定されたディレクトリを表す File オブジェクトを作成します。
  3. File オブジェクトの listFiles() メソッドを呼び出して、ディレクトリ内のすべてのファイルを取得します。
  4. ファイル配列を走査し、フィルタリングするファイルごとに FileNameFilter オブジェクトの accept() メソッドを呼び出します。受け入れられたファイルは結果セットに追加されます。

次は、FileNameFilter を使用して、指定したディレクトリ内のファイルをフィルタリングする方法の例です。

import java.io.*;

public class FileFilterExample {

    public static void main(String[] args) {
        File dir = new File("C:/folder");//指定目录
        String[] fileList;

        //创建一个实现了FileNameFilter接口的内部类
        FileNameFilterImpl filter = new FileNameFilterImpl(".txt");

        //调用listFiles()方法获取目录下的所有文件
        fileList = dir.list(filter);

        //遍历文件名数组
        for (String fileName : fileList) {
            System.out.println(fileName);
        }
    }

    //实现FileNameFilter接口的内部类
    static class FileNameFilterImpl implements FilenameFilter {
        private String ext;//扩展名

        public FileNameFilterImpl(String ext) {
            this.ext = ext;
        }

        //实现accept()方法
        public boolean accept(File dir, String name) {
            return name.toLowerCase().endsWith(ext);//只接受指定扩展名文件
        }
    }
}
ログイン後にコピー

上記のサンプル コードでは、FileNameFilter インターフェイスを実装する内部クラスを作成しました。 FileNameFilterImpl. accept() メソッドでは、ファイル名の拡張子が「.txt」であるかどうかを判断して、指定されたディレクトリ内のすべての txt ファイルをフィルタリングします。

main() メソッドでは、まず C:/folder ディレクトリを表す File オブジェクトを作成します。次に、FileNameFilterImpl オブジェクトを作成し、それをパラメータとして File オブジェクトの list() メソッドに渡しました。 list() メソッドは、フィルタリングされたファイル リストを表す String 配列を返します。最後に、for ループを使用してフィルタリングされたファイル名を走査して出力しました。

上記は、指定されたディレクトリ内のファイルをフィルタリングするために Java で FileNameFilter クラスの accept() 関数を使用する方法についてのこの記事の紹介です。 FileNameFilter インターフェイスを使用すると、必要に応じて必要なファイルを柔軟にフィルタリングできます。この記事が読者の FileNameFilter の理解と使用に役立つことを願っています。

以上がJava は、FileNameFilter クラスの accept() 関数を使用して、指定されたディレクトリ内のファイルをフィルタリングします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート