IO - 文件的读取与写入

时间:2021-07-13 20:59:07

  最近有较多提取文档内容,然后拼接成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 - 文件的读取与写入

  转换后:

  IO - 文件的读取与写入