将文件中TO_DATE('04/05/2016 13:16:14', 'MM/DD/YYYY HH24:MI:SS')替换成'2016-04-05 13:16:14'
2016-06-17 11:02
267 查看
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.PrintStream; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ReplaceDate { public static void main(String[] args) { String reg = "(0?[1-9]|1[012])/(0?[1-9]|[12][0-9]|3[01])/((19|20)[0-9]{2})"; Pattern pattern = Pattern.compile (reg); // 读取文本文件 try { File dir = new File("G:/ssmdb-data/"); File file[] = dir.listFiles(); for (int i = 0; i < file.length; i++) { String filePath = file[i].getAbsolutePath(); String fileName = file[i].getName(); String encoding = "UTF-8"; // 字符编码(可解决中文乱码问题 ) File fileTemp = new File(filePath); if (fileTemp.isFile() && fileTemp.exists()) { InputStreamReader read = new InputStreamReader(new FileInputStream(fileTemp), encoding); BufferedReader bufferedReader = new BufferedReader(read); String lineTXT = null; String destContent = ""; while ((lineTXT = bufferedReader.readLine()) != null) { String content = lineTXT.toString().trim(); content = content.replaceAll("TO_DATE\\(", ""); content = content.replaceAll(", 'MM/DD/YYYY HH24:MI:SS'\\)", ""); destContent += content; System.out.println(content); } read.close(); Matcher matcher = pattern.matcher (destContent); while (matcher.find ()) { System.out.println (matcher.group ()); String oldDate = matcher.group (); String[] oldDateArr = oldDate.split("/"); String newDate = oldDateArr[2]+"-" + oldDateArr[0] +"-" + oldDateArr[1]; destContent = destContent.replaceAll(oldDate, newDate); } //将转换的文本写入原来的文件中 PrintStream ps = new PrintStream(new FileOutputStream(fileTemp)); ps.println(destContent);// 往文件里写入字符串 ps.flush(); ps.close(); System.out.println(fileName + " is writen!"); } else { System.out.println("找不到指定的文件!"); } } } catch (Exception e) { System.out.println("读取文件内容操作出错"); e.printStackTrace(); } } }
相关文章推荐
- npm vs Bower区别
- java 序列化机制深度解析
- Python Web 3 ——引入flask框架
- 浅析extendedLayout, automaticallyAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars
- Semantic Web 参考资料
- ORA-01000: 超出打开游标的最大数(解决及原因)
- ubuntu 16.04中文输入法的配置
- SSL/TLS原理详解
- Linux内存管理之高端内存映射
- lingo解题报告内容解释
- ionic的scroll的使用出现的问题
- 联创自助打印驱动程序 v1.0官方版
- Python脚本文件转为exe文件---py2exe
- Map的迭代方式
- BZOJ3105: [cqoi2013]新Nim游戏 博弈论+线性基
- vue入门
- 关于Java中静态代码块以及构造函数的执行先后顺序
- vim编辑器
- 强悍的命令行 —— 命令行域名的解析
- 敏捷项目开发中的需求分析