Java は、FileNameFilter クラスの accept() 関数を使用して、指定されたディレクトリ内のファイルをフィルタリングします。
はじめに:
Java では、指定されたディレクトリ内のファイルをフィルタリングする必要があることがよくあります。現時点では、FileNameFilter インターフェイスを使用してファイル名をフィルタリングできます。この記事では、FileNameFilter クラスの accept() 関数を使用してファイル フィルタリングを実装する方法と、対応するコード例を紹介します。
1. FileNameFilter とは何ですか?
FileNameFilter は、ディレクトリ内のファイルをフィルタリングするための accept(File dir, String name) メソッドを定義するインターフェイスです。このメソッドが true を返す場合は、ファイルが受け入れられたことを意味し、それ以外の場合は受け入れられません。
2. FileNameFilter を使用してファイルをフィルタリングするにはどうすればよいですか?
ファイル フィルタリングに FileNameFilter インターフェイスを使用する手順は次のとおりです。
次は、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 サイトの他の関連記事を参照してください。