Java でのワイルドカード文字列を含むファイルの検索
特定のワイルドカード パターンに一致するファイルの検索は、Java の一般的なタスクです。このニーズに対処するために、Apache commons-io は、listFiles や iterateFiles などのメソッドを備えた FileUtils クラスを提供します。
次のようなワイルドカード パターンがあるとします。
../Test?/sample*.txt
FileUtils を使用して一致するファイルをリストするには:
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("sample*.java"); File[] files = dir.listFiles(fileFilter); for (File file : files) { System.out.println(file); }
このコードは、指定されたファイルに一致する現在のディレクトリ内のファイルを反復処理します。ワイルドカード。ただし、ネストされたディレクトリ (TestX フォルダーなど) を処理するには、最初にディレクトリを反復処理します。
File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java")); for (File dir : dirs) { if (dir.isDirectory()) { File[] files = dir.listFiles(new WildcardFileFilter("sample*.java")); } }
このソリューションは効果的ですが、期待するほど効率的ではない可能性があります。より柔軟で複雑な一致基準を得るには、RegexFileFilter の使用を検討してください。
以上がJava でワイルドカード パターンを使用してファイルを効率的に検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。