码迷,mamicode.com
首页 > 编程语言 > 详细

Java 使用流读文本数据时乱码 解决方法

时间:2019-10-09 19:15:58      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:input   reader   标准   汉字   str   code   buffere   span   new   

一、问题描述

  当我使用FileReader读取文本文件里的汉字时,读出来的是乱码。但为什么字符是正常的呢???

二、原因探究

  其根本原因在于编码标准不同。汉字采用gbk,而idea使用UTF-8。gbk编码中文是2个字节,UTF-8编码是3个字节代表一个字符,read读到的是一个字节,一个中文,当然就读半个字节了,不完全当然是乱码了。

三、解决方法

  将FileReader改用FileInputStream读取文件,就OK啦:

InputStreamReader reader = new InputStreamReader(new FileInputStream(filepath), "GBK");
BufferedReader br = new BufferedReader(reader);
String line;
while ((line = br.readLine()) != null) {
//。。。
}

Java 使用流读文本数据时乱码 解决方法

标签:input   reader   标准   汉字   str   code   buffere   span   new   

原文地址:https://www.cnblogs.com/l199616j/p/11643652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!