最近有较多提取文档内容,然后拼接成sql之类的,但是纯粹的复制粘贴又太傻,就写了一个脚本,自动读取文件内容(word文档可能需要复制成txt文本),然后拼接sql,最后写入到指定文件中,试了下还是蛮好用的。

  不多说,直接上代码。

  1. import java.io.BufferedReader;
  2. import java.io.FileInputStream;
  3. import java.io.FileNotFoundException;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9.  
  10. import org.apache.commons.lang.StringUtils;
  11.  
  12. public class Reader {
  13.  
  14. public static void main(String[] args) {
  15. FileInputStream fis = null;
  16. InputStreamReader isr = null;
  17. BufferedReader br = null;
  18. FileWriter fw = null;
  19. try {
  20. String encoding="UTF-8";
  21. String sql = "";
  22. List<String> list = new ArrayList<String>();
  23. //文件绝对路径
  24. fis = new FileInputStream("D:\\TestStudy\\1.txt");
  25. isr = new InputStreamReader(fis, encoding);
  26. br = new BufferedReader(isr);
  27. //将文件中的内容读到List中
  28. for (int i = 0 ; i <= 429 ; i ++) {
  29. list.add(br.readLine());
  30. }
  31. //遍历List,提取需要的内容,拼接字符串
  32. for (int i = 0 ; i < list.size() ; i++) {
  33. if (StringUtils.contains(list.get(i), "交强")) {
  34. sql += "-- 备份1条记录\n" + "SELECT * FROM pics_url a WHERE a.urlname = '"
  35. + list.get(i-1) + "商业';\n" + "-- 更新1条记录\n" + "UPDATE pics_url a SET a.url='" + list.get(i+1)
  36. + "' WHERE a.urlname='" + list.get(i-1) + "商业';\n" + "-- 备份1条记录\n" + "SELECT * FROM pics_url a WHERE a.urlname = '"
  37. + list.get(i-1) + "交强';\n" + "-- 更新1条记录\n" + "UPDATE pics_url a SET a.url='" + list.get(i+3)
  38. + "' WHERE a.urlname='" + list.get(i-1) + "交强';\n\n";
  39. }
  40. }
  41.  
  42. //将拼接得到的内容写入文件中
  43. fw = new FileWriter("D:/TestStudy/1.sql");
  44. fw.write(sql);
  45.  
  46. System.out.println(sql);
  47.  
  48. } catch (FileNotFoundException e) {
  49. System.out.println("找不到指定文件");
  50. } catch (IOException e) {
  51. System.out.println("读取文件失败");
  52. } finally {
  53. try {
  54. br.close();
  55. isr.close();
  56. fis.close();
  57. fw.flush();
  58. fw.close();
  59. } catch (IOException e) {
  60. e.printStackTrace();
  61. }
  62. }
  63. }
  64. }

  效果展示:

   原文件:

  

  转换后:

  

IO - 文件的读取与写入的更多相关文章

  1. Java I/O---RandomAccessFile类(随机访问文件的读取和写入)

    1.JDK API中RandomAccessFile类的描述 此类的实例支持对随机访问文件的读取和写入.随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组.存在指向该隐含数组的光标或索引 ...

  2. File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?

    重难点提示 学习目标 1.能够了解File类的特点(存在的意义,构造方法,常见方法) 2.能够了解什么是IO流以及分类(IO流的概述以及分类) 3.能够掌握字节输出流的使用(继承体系结构介绍以及常见的 ...

  3. c# txt文件的读取和写入

    我们在工程实践中经常要处理传感器采集的数据,有时候要把这些数据记录下来,有时候也需要把记录下来的数据读取到项目中.接下来我们用C#演示如何对txt文件进行读写操作.我们要用到StreamReader  ...

  4. c++学习笔记—c++对txt文件的读取与写入

    一.文件的输入输出 头文件fstream定义了三个类型支持文件IO:ifstream从给定文件读取数据.ofstream向一个给定文件写入数据.fstream读写给定数据.这些类型与cin和cout的 ...

  5. POI Excel文件的读取与写入

    1. 创建目录 if(!(new File(path).isDirectory())){ new File(path).mkdirs();} 2. 读取Excel文件,并进行写入操作 Workbook ...

  6. 《程序实现》从xml、txt文件里读取数据写入excel表格

    直接上码 import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java ...

  7. PHP文件操作 读取与写入

    基本知识: PHP文件系统是基于Unix系统的 文件数据基本类型:二进制数据.文本数据 文件输入流:数据从源文件到内存的流动 文件输出流:数据从内存保存到文件的流动 文件操作函数: >>& ...

  8. java中文件的读取和写入

    //首先要顶一个file文件用来存放要读取的文件 File f=new File("c:/test/aa.txt"); //在实例化一个输入流,并把文件对象传到里面 FileInp ...

  9. Python对于CSV文件的读取与写入

    今天天气"刚刚好"(薛之谦么么哒),无聊的我翻到了一篇关于csv文件读取与写入的帖子,作为测试小白的我一直对python情有独钟,顿时心血来潮,决定小搞他一下,分享给那些需要的小白 ...

随机推荐

  1. 如何通过js处理相同时间的信息整合到一起的问题

    背景: 倘若后台已经处理好了时间,也就是 今天,昨天,显示具体日期,那么通过js如何写才能调整成如下形式呢? 今天: 第一条数据 第二条数据 昨天: 第一条数据 第二条数据 具体时间: 第一条数据 第 ...

  2. 【BZOJ2081】[Poi2010]Beads hash+调和级数

    [BZOJ2081][Poi2010]Beads Description Zxl有一次决定制造一条项链,她以非常便宜的价格买了一长条鲜艳的珊瑚珠子,她现在也有一个机器,能把这条珠子切成很多块(子串), ...

  3. HBase核心技术点

    表的rowkey设计核心思想: 依据rowkey查询最快 对rowkey进行范围查询range 前缀匹配 预分区创建的三种方式 create 'ns1:t1', 'f1', SPLITS => ...

  4. java Web程序使用wro4j合并、压缩js、css等静态资源

    在Web项目中,js.css合并压缩,不仅有利于减少Http请求数量.减少宽带资源占用,还能有效的管理各种js.css的引入,使整个项目更加有序.而对于访问用户来说,其更大的好处是增加了页面的打开速度 ...

  5. 我的Android进阶之旅------>Android KeyCode列表

    KEYCODE列表 电话键 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_MENU 菜单键 82 KEY ...

  6. 代替print输出的PY调试库:PySnooper

      PySnooper¶ Github:https://github.com/lotapp/PySnooper pip install pysnooper 使用:分析整个代码 @pysnooper.s ...

  7. date_default_timezone_get():

    [Symfony\Component\Debug\Exception\ContextErrorException]                      Warning: date_default ...

  8. 深入理解ByteBuffer(转)

    转:http://blog.csdn.net/workformywork/article/details/26699345?utm_source=tuicool&utm_medium=refe ...

  9. python学习-1-列表,元组,字典,集合,文件操作

    1. 列表.元组操作 names = ['Alex',"Tenglan",'Eric'] >>> names[0] >>> names[2] & ...

  10. PHP实现今天是星期几的几种写法

    今天是星期几的写法有很多,本文整理了常用的三种. 代码如下:  // 第一种写法 $da = date("w");  if( $da == "1" ){  ec ...