BufferedReader和PrintWriter读写中文的问题
最近用BufferedReader读一个文本文件,然后再将读出的内容用PrintWriter写入到另外一个新的文件中。
之前一直没有发现这个问题,就是如果文本内容中有中文,在读出的内容和写入的内容都会出现乱码。
想了一下解决方案。
首先用BufferedReader读出的时候设置一下字符集编码:
//文件路径:filePath
File file = new File(filePath);
FileInputStream fin = new FileInputStream(file);
InputStreamReader in = new InputStreamReader(fin,"GBK");
BufferedReader br = new BufferedReader(in);
设置好了之后,会进行一些读出操作,然后再调用PrintWriter写入,当然也要设置同一个字符集编码:
File tempFile = new File(newPath);
PrintWriter tpw = null;
FileOutputStream fo = new FileOutputStream(tmpFile);
OutputStreamWriter osw = new OutputStreamWriter(fo,"GBK");
tpw = new PrintWriter(osw);
BufferedReader和PrintWriter读写中文的问题的更多相关文章
- BufferedReader与BufferedWriter读写中文乱码问题
正常读写英文时用""""没问题 FileReader fre = new FileReader("E:\\TEST\\readText.txt&quo ...
- Java IO读写中文各种乱码问题 【转】
Java IO读写中文各种乱码问题 转自:http://blog.sina.com.cn/s/blog_484ab56f0101muzh.html java.io.*读写中文各种乱码,很费劲.不完全解 ...
- 解決BufferedReader读取UTF-8文件中文乱码
解決BufferedReader读取UTF-8文件中文乱码 File rst01 = new File(context.getRealPath("/")+" ...
- 解决python3读写中文txt时UnicodeDecodeError : 'ascii' codec can't decode byte 0xc4 in position 5595: ordinal not in range(128) on line 0的问题
今天使用python3读写含有中文的txt时突然报了如下错误,系统是MAC OS,iDE是pycharm: UnicodeDecodeError : 'ascii' codec can't decod ...
- 使用 python 读写中文json
读写中文json ) 输出中文的json. 通过使用 ensure_ascii=False,输出原有的语言文字.indent參数是缩进数量. 更改写文件格式 将上一步导出的 string 直接写文 ...
- java读写中文文件
在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码.原因其实很简单,就是系统的编码和程序的编码采用了不同的编码格式.通常,假如自己不修改的话,windows自身采用的编 ...
- BufferedReader和BufferedWriter读写文件(转载)
http://375940084.blog.51cto.com/2581965/751040 1.创建Student类存储每个学生信息,属性(学号,姓名,出生日期,得分)2.从c:/test/stud ...
- 使用ACR122U NFC读卡器对M1卡进行读写操作(可以读写中文)
因为项目需要,第一次接触到了ACR122U NFC读卡器(非接触式)和M1卡,首先介绍一下想要读写应该知道的基本知识. 我就根据我的理解先叙述一下: ACR122U 是一款连机非接触式智能卡读写器,可 ...
- 【boost】ptree 读写中文的问题
最经项目中使用到了boost property_tree,却在中文问题上遇到大问题. 直接使用ptree读写存储于窄字符(如string)类型的中文字符串时,程序可以运行,但由于XML默认使用UTF- ...
随机推荐
- python源码
初学者 GitHub - kennethreitz/pip-pop: Tools for managing requirements files. GitHub - kennethreitz/envo ...
- 【剑指offer37】二叉树的序列化
序列化过程很简单,如果是采用先序序列,那么对先序遍历做出改变即可: 层序遍历建立二叉树,如: 1 2 3 4 # 5 6 输入第一行:将要输入的节点的个数N,如上面的为7 ...
- leetcode 496下一个更大的元素I
单调递减栈来做,time O(n),spaceO(n)需要一个哈希map class Solution { public: vector<int> nextGreaterElement(v ...
- xcode dyld: Library not loaded: @rpath/libswiftCore.dylib问题解决
app安装好了之后就报这个错误,这个时候可以将xcode工程clear一下,删除已经安装好的app,再重新安装即可
- C#, 计算字符串里有多少个指定字符
int number = a.Count<char>(c => c == '@');
- 查询处理Oracle锁表的问题
--以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$proce ...
- python学习之内置函数(二)
4.7.3 内置函数(2) int() str() bool() set() list():将一个可迭代对象转化为列表 tuple():将一个可迭代对象转换成元组 dic(): 通过相应的方式创建字典 ...
- LeetCode.1030-曼哈顿距离排序矩阵单元格(Matrix Cells in Distance Order)
这是小川的第384次更新,第412篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第246题(顺位题号是1030).我们给出一个矩阵,其中R行和C列具有整数坐标(r,c)的 ...
- 【深度聚类】Superpixel Sampling Networks
Superpixel Sampling Networks 原始文档:https://www.yuque.com/lart/papers/ssn 本文的思想很简单,传统的超像素算法是一种有效的低/中级的 ...
- [JavaScript] console.log只在查看时才会读取这个打印的对象,并把此刻相关属性和值显示出来
/** * 写个函数解决console.log只在查看时才会读取这个打印的对象,并把此刻相关属性和值显示出来 * @param arg */ const log = function (...ar ...