前段时间须要把文件夹中全部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(); } } }