前段時間須要把文件夾中全部sql文件整到一個文檔中,進行MySQL數據庫的批量導入用,因此寫了下面的小程序。 java
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; public class GetLib { String temp = ""; public static void main(String args[]) { GetLib fm = new GetLib(); String[] files = fm .serachFiles("E:/VP_WorkSpace/VP/VisualProject39A/1_執行庫/03_系統設計/數據庫 for mysql"); fm.writeFile("E:/01.txt", files); } /** * 取出指定目錄及子目錄下全部的SQL文件 * * @param dir * 檢索sql文件的目錄 * @return */ private String[] serachFiles(String dir) { File root = new File(dir); File[] filesOrDirs = root.listFiles(); for (int i = 0; i < filesOrDirs.length; i++) { if (filesOrDirs[i].isDirectory()) { serachFiles(filesOrDirs[i].getAbsolutePath()); } else { String[] nameArr = filesOrDirs[i].getName().split("\\."); if (nameArr != null && nameArr.length > 0 && nameArr[nameArr.length - 1].equals("sql")) { temp += filesOrDirs[i].getPath() + ","; } } } return temp.split(","); } /** * 將數據中的內容寫入到指定文件中,每一個數據元素是一行 * * @param path * 寫入文件的路徑 * @param content * 寫入文件的內容 */ private void writeFile(String path, String[] content) { try { File f = new File(path); if (f.exists()) { System.out.println("文件存在,開始寫入..."); } else { System.out.println("文件不存在,正在建立..."); if (f.createNewFile()) { System.out.println("文件建立成功,開始寫入..."); } else { System.out.println("文件建立失敗!"); } } BufferedWriter writer = new BufferedWriter(new FileWriter(f,true)); for (String s : content) { //寫入數據 writer.write("source " + s); //換行 writer.newLine(); } writer.close(); System.out.println("寫入完畢!"); } catch (Exception e) { e.printStackTrace(); } } }