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

Java 批量移除專案中固定格式的無效註解

     編輯:程式設計疑難解答

專案包含大量檔案,需刪除格式固定的無效註解:

/*無效資源開始
System.out.println("無效的內容");
無效資源結束*/

處理流程

  1. 遞迴掃描專案目錄: Files.walk(Paths.get(root)).filter(Files::isRegularFile)。
  2. 讀取整檔內容: String content = Files.readString(path); (Java 11+)。
  3. 正則替換: 使用 Pattern.DOTALL 跨行匹配:
    String regex = "/\\*無效資源開始[\\s\\S]*?無效資源結束\\*/";
    String cleaned = content.replaceAll(regex, "");
  4. 寫回檔案: Files.writeString(path, cleaned);。
  5. 編碼處理: 指定 StandardCharsets.UTF_8 避免中文亂碼。

完整範例 (Java 11+)

public static void cleanProject(Path root) throws IOException {
    Pattern p = Pattern.compile("/\\*無效資源開始[\\s\\S]*?無效資源結束\\*/");
    Files.walk(root)
         .filter(Files::isRegularFile)
         .filter(path -> path.toString().endsWith(".java"))
         .forEach(path -> {
             try {
                 String txt = Files.readString(path);
                 String newTxt = p.matcher(txt).replaceAll("");
                 if (!txt.equals(newTxt)) Files.writeString(path, newTxt);
             } catch (IOException e) { e.printStackTrace(); }
         });
}

注意事項

  • 先備份專案或使用版控 (Git) 以便回滾。
  • 正則 [\\s\\S]*? 非貪婪匹配任意字元 (含換行),確保不跨越多個註解塊。
  • 若註解內可能包含 */,需升級為狀態機解析器,正則將失效。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved