文档章节

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

 勤奋的码农
发布于 2013/03/28 16:21
字数 320
阅读 146
收藏 2

    前段时间需要把文件夹中所有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();
		}
	}
}

© 著作权归作者所有

粉丝 3
博文 9
码字总数 2016
作品 0
海淀
高级程序员
私信 提问
代理扫描器 - xsec-proxy-scanner

xsec-proxy-scanner是一款速度超快、小巧的代理服务器扫描器,使用场景为: 定期扫描自已公司服务器,排查是否有外网服务器开启了代理服务; 扫描公网中的代理服务器(搞成分布式的,也可以卖...

xsec
05/05
0
0
Linux的cp命令

linux下复制命令为cp命令,功能是复制文件或目录 说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录...

Quincuntial
2015/04/10
0
0
Java IO 之 FileInputStream & FileOutputStream源码分析

Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket 一、引子 文件,作为常见的数据源。关于操作文件的字节流就是 — FileInputS...

泥沙砖瓦浆木匠
2015/10/09
813
0
12月20日笔记 文件、目录权限及相关操作命令

linux文件权限是一个比较繁杂的内容,建议在阅读中文资料的基础上参考英文wiki与鸟叔的网站关于权限方面的内容,下面是在学习中参阅的一些文章:英文:https://en.wikipedia.org/wiki/Files...

whytl
2017/12/20
0
0
12月19日课程笔记 PATH与文档操作命令

一、环境变量PATH先看下wiki对PATH的定义 翻译: centos7中,PATH就是告诉系统,我们执行一条命令时,去哪些位置找这个命令。我们看下系统PATH的值输入:”echo PATH“对PATH操作1、临时增加...

whytl
2017/12/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue-Ueditor

记录,忘了还要写啥了,先发吧,后面再补。。。 代码示例 import UEditor from '@/components/UE.vue';components: { UEditor },return {config: { //可以在此处定义工...

华山猛男
39分钟前
2
0
jupyter部署安装

python373 -m ipykernel install --name python373 ipython kernelspec list sc create myjupyterservice binpath="D:\apply\Python373\Scripts\jupyter-notebook --config=V:/my_work/jupyt......

mbzhong
53分钟前
4
0
聊聊feign的Contract

序 本文主要研究一下feign的Contract Contract feign-core-10.2.3-sources.jar!/feign/Contract.java public interface Contract { /** * Called to parse the methods in the class t......

go4it
今天
3
0
Linux 软链接和硬链接简介

本文主要介绍了Linux系统中的链接文件。 文件系统 在Linux系统中,将文件分为两个部分:用户数据和元数据。 元数据(inode) 元数据即文件的索引节点(inode),用来记录文件的权限(r、w、x...

问题终结者
今天
5
0
RocketMQ的事务投递

RocketMQ的事务投递 这是阿里的分布式事务图: 1、A服务先发送个Half Message给Brock端,消息中携带 B服务 即将要+100元的信息。 2、当A服务知道Half Message发送成功后,那么开始第3步执行本...

春哥大魔王的博客
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部