首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 實現文件模糊搜索:JFileChooser + 正則表達式匹配

     編輯:程式設計綜合問答

功能需求

  • 圖形界面選擇目標目錄
  • 支持通配符 *(多字符)、?(單字符)
  • 按擴展名過濾
  • 結果實時顯示在列表中

核心實現

// 1. 選擇目錄
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
    File dir = chooser.getSelectedFile();
    // 2. 遞歸收集文件
    List allFiles = new ArrayList<>();
    collectFiles(dir, allFiles);
    // 3. 正則轉換:* → .*  ? → .
    String regex = pattern.replace(".", "\\.").replace("*", ".*").replace("?", ".");
    Pattern p = Pattern.compile(regex);
    // 4. 過濾顯示
    for (File f : allFiles) {
        if (p.matcher(f.getName()).matches() && extMatches(f)) {
            model.addElement(f.getAbsolutePath());
        }
    }
}

完整項目

已整理上傳至個人博客,包含完整 Swing 界面代碼與遞歸工具類:

Java 文件模糊搜索完整源碼下載

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved