Java でのワイルドカード パターンを含むファイルの検索
ここでの質問には、次のようなワイルドカード文字列に一致するファイルを識別する方法を見つけることが含まれます。 Java では「../Test?/sample*.txt」。 Apache commons-io の WildcardFileFilter が利用できるにもかかわらず、相対ディレクトリ パス内のファイルを検索するためのその実装については混乱が生じる可能性があります。
Apache Commons-IO の使用
Apache commons-io の FileUtils を利用すると、次のコード スニペットが可能になります。採用:
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("sample*.java"); File[] files = dir.listFiles(fileFilter);
このコードは、現在のディレクトリ内の一致するファイルの配列を返します。
ディレクトリの処理
内のファイルを検索するにはサンプル パターンの「Test1」や「Test4」などのサブディレクトリに、追加のループを追加できます。追加:
File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java"); for (int i=0; i<dirs.length; i++) { File dir = dirs[i]; if (dir.isDirectory()) { File[] files = dir.listFiles(new WildcardFileFilter("sample*.java")); } }
これにより、指定されたワイルドカード パターンに一致するファイルが再帰的に検索され、リストされます。
その他の考慮事項
で説明されている代替アプローチ問題は、ワイルドカード構文を使用する Apache Ant のソース コードを調べることです。ただし、これはほとんどのユーザーにとって最も簡単な解決策ではない可能性があります。
さらに、Java ランタイム環境 (JRE) はコマンドライン引数内の単純なワイルドカードを自動的に解析し、基本的なシナリオのプロセスを簡素化することにも注目してください。
以上がApache Commons-IO を使用して Java でワイルドカード パターンに一致するファイルを見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。