将指定目录下的sql文件名写入到txt文件中

    前段时间须要把文件夹中全部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();
		}
	}
}
相关文章
相关标签/搜索