Forráskód Böngészése

导出的sql文件合并

JoeLazy 3 hónapja
szülő
commit
57f458a2d7

+ 58 - 0
src/main/java/com/sundata/internalevaluation/calc/custom/MergeFileDemo.java

@@ -0,0 +1,58 @@
+package com.sundata.internalevaluation.calc.custom;
+
+import java.io.*;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @author JoeLazy
+ * @date 2025-02-27 15:49:17
+ * @description: sql合并
+ */
+public class MergeFileDemo {
+
+    public static void main(String[] args) throws Exception {
+
+        File sourcesDir = new File("C:\\Users\\JoeLazy\\Desktop\\sql\\DML");
+        File file = new File("C:\\Users\\JoeLazy\\Desktop\\sql\\DML.sql");
+        File[] files = sourcesDir.listFiles(item ->
+                item.getName().endsWith(".sql")
+                        && item.isFile()
+                        && !"SYS_LOGS.sql".equals(item.getName()));
+        if (files != null) {
+            mergeSqlInsertFile(files, file);
+        }
+    }
+
+
+    public static void mergeSqlInsertFile( File[] sourcesFiles, File targetFile) throws Exception{
+
+
+        try (BufferedWriter writer = new BufferedWriter(new FileWriter(targetFile))) {
+            for (File file : sourcesFiles) {
+                System.out.print("Processing: " + file.getName());
+                try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
+                    writer.write("-- " + file.getName());
+                    writer.newLine();
+                    String line;
+                    while ((line = reader.readLine()) != null) {
+                        line = line.replaceAll("USER_ZYJ.", "");
+                        writer.write(line);
+                        writer.newLine();
+                    }
+                }
+                writer.newLine();
+                writer.newLine();
+                writer.newLine();
+                writer.flush();
+                System.out.println("       ---> 完成");
+            }
+        }
+
+        System.out.println("-----> 所有文件合并完成 <------");
+    }
+
+
+
+}
+