java指定编码的按行读写txt文件(几种读写方式的比较)
转:
输入输出的几种形式
1.FileReader,FileWriter
- File r = new File("temp.txt")
- FileReader f = new FileReader(name);//读取文件name
- BufferedReader b = new BufferedReader(f);//缓冲写入,提供了readline函数,可以按行读取。
- Srting str = null;
- while((str = b.readline()) != null){
- System.out.print(str);//按行读取
- }
- //但FileReader涉及编码转换问题,默认系统编码,容易出现乱码
- FileWriter writer = new FileWriter("c://test.txt");//FileWriter不会覆盖原来的文本,并且能识别换行符。
- BufferedWriter bw = new BufferedWriter(writer);//缓冲写入,提高写入速度
- bw.write("已存在的字符串");
2.inputStreamReader,outputStreamWriter
- File f = new File("//..//");
- InputStreamReader reader = new InputStreamReader(new FileInputStream(f));
- BuffeReader br = new BufferedWriter(reader);
- //FileReader是把文件转换为字符流读入
- //FileInputStream是读取字节流
- //InputStreamReader将字节转换为字符,同时InputStreamReader的参数中可以自定义编码,这是个重要的特性。
- //OutputStreamWriter的用法同InputStreamReader,同样可以用户在其参数中自定义编码方式,比较适合对中文文档的写。
3.按行读写并指定编码方式
- //按行读中文文档,为了之后能按行写,先将读到的中文字符串,放入数组
- List<String>temp = new ArrayList<>();
- File f = new File("c://data.txt");
- InputStreamReader reader = new InputStreamReader(new FileInputStream(f),"GBK");
- BufferedReader br = new BufferedReader(reader);
- String str=null;
- while((str=br.readline())!=null){
- temp.append(str);
- }
- br.close();
- reader.close();
- //下面按行读。我实现的其实就是变相的分行打印,如果有更好的方法请大家指教
- OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream("out.txt"),"GBK");
- BufferedWriter bw = new BufferedWriter(os);
- PrintWriter out = new PrintWriter(bw);
- for(String aTemp:temp){
- out.println(aTemp);
- }
- bw.close();
- os.close();
- out.close();
java指定编码的按行读写txt文件(几种读写方式的比较)的更多相关文章
- cv.Mat 与 .txt 文件数据的读写操作
1.按OpenCV格式实现的 .txt 文件读写 可以用 cvSave 和 cvLoad 实现,格式和 .xml/.yml 的差不多,不过如果专用与 OpenCV 的数据读写,还是用 .xml/.y ...
- UNICODE环境下读写txt文件操作
内容转载自http://blog.sina.com.cn/s/blog_5d2bad130100t0x9.html UNICODE环境下读写txt文件操作 (2011-07-26 17:40:05) ...
- WPF 读写TxT文件
原文:WPF 读写TxT文件 文/嶽永鹏 WPF 中读取和写入TxT 是经常性的操作,本篇将从详细演示WPF如何读取和写入TxT文件. 首先,TxT文件希望逐行读取,并将每行读取到的数据作为一个数组的 ...
- 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到F盘下任意目录
package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...
- python操作txt文件中数据教程[1]-使用python读写txt文件
python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = '. ...
- MFC读写.txt文件时进度条显示实时进度
整体实现方式:先获得文件长度,然后用每次读取的长度,计算出完成的百分比,用百分比的值设置进度条. 一.MFC进度条 Progress Control 相关函数 1. create() --创建Prog ...
- [转载]C#读写txt文件的两种方法介绍
C#读写txt文件的两种方法介绍 by 大龙哥 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char ...
- C#读写txt文件的两种方法介绍
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
- C#读写txt文件的两种方法介绍[转]
C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...
随机推荐
- timestamp 与 nonce 防止重放攻击
重放攻击是计算机世界黑客常用的攻击方式之一,所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程. 首先要明确一个事情,重放攻击是二次请求,黑客通过抓包获取到 ...
- mybatis-spring-1.2.2.jar下载地址
http://www.java2s.com/Code/Jar/m/Downloadmybatisspring120jar.htm
- Tomcat配置Https环境
windows环境下:http://blog.csdn.net/supersky07/article/details/7407523 linux环境下:http://blog.csdn.net/cuk ...
- Visual Studio for Mac中的ASP.NET Core
所以你们都听到了#Build 2017的消息,Mac上的Visual Studio已经被完全发布,是一般的.为了庆祝这个版本,我将在我的Mac上写几篇关于构建一些不同的.net应用的帖子. 正如你已经 ...
- 本科理工男如何学习Linux
我是一个本科学电子的理工男,但是一直对计算机感兴趣,所以平时自己在课下喜欢学一些与计算机有关的东西.由于对计算机感兴趣,所以后来我参加了学校的计算机社团,在那里接受一些培训和指导.当时在社团里看到师兄 ...
- Spring Boot2.0自定义配置文件使用
声明: spring boot 1.5 以后,ConfigurationProperties取消locations属性,因此采用PropertySource注解配合使用 根据Spring Boot2. ...
- P1578 奶牛浴场
P1578 奶牛浴场 题目描述 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建造一个大型浴场.但是John的奶牛有一个奇怪的习惯,每头奶牛都必 ...
- Snowflake Snow Snowflakes POJ - 3349 Hash
题意:一个雪花有六个角 给出N个雪花 判断有没有相同的(可以随意旋转) 参考:https://blog.csdn.net/alongela/article/details/8245005 注意:参考 ...
- Codeforces997D Cycles in product 【FFT】【树形DP】
题目大意: 给两个树,求环的个数. 题目分析: 出题人摆错题号系列. 通过画图很容易就能想到把新图拆在两个树上,在树上游走成环. 考虑DP状态F,G,T.F表示最终答案,T表示儿子不考虑父亲,G表示父 ...
- 洛谷P1462通往奥格瑞玛的道路题解
[题目]: https://www.luogu.org/problemnew/show/P1462 题意 题目是给定了一张双向边,有边权的图,然后让我们求出一个最小值,满足一条路径上的最大的费用小于这 ...