0
ファイル名に特定の単語を含むすべてのドキュメント/グラフィックス拡張子を持つファイルを選択したフォルダから検索するコードを作成しようとしています。私は似例を見つけることができませんでしたし、私はこの1が最も近いもので、いくつかの異なるアプローチを試してみた:Javaでの拡張子とワイルドカード検索による再帰的なファイル検索
private void startButtonActionPerformed(java.awt.event.ActionEvent evt) {
File startingPath = dirChooser.getCurrentDirectory();
String[] extensions = new String[] {
"txt", "doc", "docx", "jpg", "jpeg", "pdf", "odt", "png", "bmp"};
// there are about 20 different patterns like the ones below
Pattern p = Pattern.compile(".*password.*|.*user.*|.*profile.*");
List<File> files = (List<File>) FileUtils.listFiles(
startingPath, extensions, true);
files.forEach((file) -> {
if (file.isFile()){
Matcher m = p.matcher(file.toString().toLowerCase());
if (m.matches()) {
filesArea.append(file.toString() + "\n");
noOfFiles++;
}
}
});
}
拡張検索は完璧に動作しますが、何らかの理由でパターン検索は、一部のフォルダのみではなく他の人と作品。私はより良いアプローチがあると確信していますが、この1つは最も簡単で(ほとんど)働いていたようです。どのように私はそれを完全に動作させることができる任意のアイデア?
ご返信いただき、ありがとうございました! – momp