独角兽企业重金招聘Python工程师标准>>>
前段时间需要把文件夹中所有sql文件整到一个文档中,进行MySQL数据库的批量导入用,所以写了下面的小程序。
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();}}}