记 超级方便的 读取和写入文件方式--Files

版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在页面明显位置给出原文链接。 https://blog.csdn.net/mengxiangqihangz/article/details/88887843

由于File 不提供文件的操作 (读写)功能。
因此jdk 1.7 新增了工具类 Files,弥补了这一缺口

用例场景 – 分表的时候,需要新增64张表,表结构一样,只是表明不同。
通过基表sql 一张张复制,然后修改表名,的方式比较笨拙,而且 进行分表优化的表比较多。有十多张。所以通过程序完成
并且工作中简单读取文件,写入文件的需求会比较多。记一下,以备用

public class CreateTableUtil {
	public static void main(String[] args) throws IOException {
		byte[] contents = Files.readAllBytes(new File("D:/tableName.txt").toPath());
		String content = new String(contents);
		String tableName = "t_sdkoper_log";
		String writeFileName = "DMP_TABLE_DDL_N_"+tableName+"_zhangzhiliang20190328.sql";
		File writeFile = new File("D:/移动政企T服务平台2/05.DB变更/用户画像分支DB/DMP数据库脚本/" + writeFileName);
		
		if(!writeFile.exists())
			writeFile.createNewFile();
		StringBuilder builder = new StringBuilder();
		for (int j = 0; j < TableNameUtil.tableSize; j++) {
			
			builder.append(content.replaceFirst(tableName, tableName+"_"+j)).append("\r\n\r\n");
		}
//		Files.write(writeFile.toPath(), builder.toString().getBytes(), StandardOpenOption.APPEND);
		Files.write(writeFile.toPath(), builder.toString().getBytes(), StandardOpenOption.TRUNCATE_EXISTING);
		System.out.println("success");
		
	}
}

猜你喜欢

转载自blog.csdn.net/mengxiangqihangz/article/details/88887843