IO - 文件的读取与写入
最近有较多提取文档内容,然后拼接成sql之类的,但是纯粹的复制粘贴又太傻,就写了一个脚本,自动读取文件内容(word文档可能需要复制成txt文本),然后拼接sql,最后写入到指定文件中,试了下还是蛮好用的。
不多说,直接上代码。
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
public class Reader {
public static void main(String[] args) {
FileInputStream fis = null;
InputStreamReader isr = null;
BufferedReader br = null;
FileWriter fw = null;
try {
String encoding="UTF-8";
String sql = "";
List<String> list = new ArrayList<String>();
//文件绝对路径
fis = new FileInputStream("D:\\TestStudy\\1.txt");
isr = new InputStreamReader(fis, encoding);
br = new BufferedReader(isr);
//将文件中的内容读到List中
for (int i = 0 ; i <= 429 ; i ++) {
list.add(br.readLine());
}
//遍历List,提取需要的内容,拼接字符串
for (int i = 0 ; i < list.size() ; i++) {
if (StringUtils.contains(list.get(i), "交强")) {
sql += "-- 备份1条记录\n" + "SELECT * FROM pics_url a WHERE a.urlname = '"
+ list.get(i-1) + "商业';\n" + "-- 更新1条记录\n" + "UPDATE pics_url a SET a.url='" + list.get(i+1)
+ "' WHERE a.urlname='" + list.get(i-1) + "商业';\n" + "-- 备份1条记录\n" + "SELECT * FROM pics_url a WHERE a.urlname = '"
+ list.get(i-1) + "交强';\n" + "-- 更新1条记录\n" + "UPDATE pics_url a SET a.url='" + list.get(i+3)
+ "' WHERE a.urlname='" + list.get(i-1) + "交强';\n\n";
}
}
//将拼接得到的内容写入文件中
fw = new FileWriter("D:/TestStudy/1.sql");
fw.write(sql);
System.out.println(sql);
} catch (FileNotFoundException e) {
System.out.println("找不到指定文件");
} catch (IOException e) {
System.out.println("读取文件失败");
} finally {
try {
br.close();
isr.close();
fis.close();
fw.flush();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
效果展示:
原文件:

转换后:

IO - 文件的读取与写入的更多相关文章
- Java I/O---RandomAccessFile类(随机访问文件的读取和写入)
1.JDK API中RandomAccessFile类的描述 此类的实例支持对随机访问文件的读取和写入.随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组.存在指向该隐含数组的光标或索引 ...
- File类的特点?如何创建File类对象?Java中如何操作文件内容,什么是Io流Io流如何读取和写入文件?字节缓冲流使用原则?
重难点提示 学习目标 1.能够了解File类的特点(存在的意义,构造方法,常见方法) 2.能够了解什么是IO流以及分类(IO流的概述以及分类) 3.能够掌握字节输出流的使用(继承体系结构介绍以及常见的 ...
- c# txt文件的读取和写入
我们在工程实践中经常要处理传感器采集的数据,有时候要把这些数据记录下来,有时候也需要把记录下来的数据读取到项目中.接下来我们用C#演示如何对txt文件进行读写操作.我们要用到StreamReader ...
- c++学习笔记—c++对txt文件的读取与写入
一.文件的输入输出 头文件fstream定义了三个类型支持文件IO:ifstream从给定文件读取数据.ofstream向一个给定文件写入数据.fstream读写给定数据.这些类型与cin和cout的 ...
- POI Excel文件的读取与写入
1. 创建目录 if(!(new File(path).isDirectory())){ new File(path).mkdirs();} 2. 读取Excel文件,并进行写入操作 Workbook ...
- 《程序实现》从xml、txt文件里读取数据写入excel表格
直接上码 import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java ...
- PHP文件操作 读取与写入
基本知识: PHP文件系统是基于Unix系统的 文件数据基本类型:二进制数据.文本数据 文件输入流:数据从源文件到内存的流动 文件输出流:数据从内存保存到文件的流动 文件操作函数: >>& ...
- java中文件的读取和写入
//首先要顶一个file文件用来存放要读取的文件 File f=new File("c:/test/aa.txt"); //在实例化一个输入流,并把文件对象传到里面 FileInp ...
- Python对于CSV文件的读取与写入
今天天气"刚刚好"(薛之谦么么哒),无聊的我翻到了一篇关于csv文件读取与写入的帖子,作为测试小白的我一直对python情有独钟,顿时心血来潮,决定小搞他一下,分享给那些需要的小白 ...
随机推荐
- WebView加载URL跳转到系统浏览器的解决方法
1.问题 webview加载url跳转到系统浏览器,用户体验非常的差 2.解决方法 重写WebViewClient的shouldOverrideUrlLoading(WebView view, Str ...
- 在Linux先显示文件
cat:从第一行开始显示文件内容. tac:从最后一行开始显示内容. nl:显示的时候带行号. more:一页一页显示. less:同more,可以向上翻页. head:显示文件前几行. head - ...
- [转]jquery中innerWidth(),outerWidth(),outerWidth(true)和width()的区别
转自:http://www.cnblogs.com/keyi/p/5933981.html jquery中innerWidth(),outerWidth(),outerWidth(true)和wi ...
- <%%>与<scriptrunat=server>,<%=%>与<%#%>的区别(转)
这些东西都是asp.net前台页面与后台代码交互过程中经常使用的,它们之间有的非常相似,又有一些不同.对比学习下,看看他们之间的联系与区别. 首先看<%%>与<scriptrunat ...
- 怎样查看电脑登录过的wifi密码?
https://jingyan.baidu.com/album/fcb5aff770f7e6edaa4a71d9.html?picindex=7
- css3 transition效果
<meta charset="UTF-8"> <style> .btn { display: inline-block; font-size: 12px; ...
- C# Interactive Shell
C# Pad 有点像VisualStudio中的ImmediateWindow,程序运行中的一些变量都保存着,可以直接从命令行访问,方便执行一些code来进行测试或debug. 上图中右边每一个小时钟 ...
- Linux入门基础(四)——磁盘管理
- dos与unix文件格式之间的转换
1. VI编辑器中转换 在VI中使用命令 set ff?(fileformat)可以查看文件的格式,使用set ff=dos(unix)可以设置文件的格式 2.使用sed处理(来至http://www ...
- iOS __weak 和 __block 的使用探讨
在基本的开发中遇到 需要弱引用时候 我一般 用 weak 预防 死锁的时候 我会用 block 的确没出过大错 但是这样处理 的确有点囫囵 现在我想好好理解一下这两个修饰符 "bloc ...