一、问题描述
当我使用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) {//。。。}
原文地址:https://www.cnblogs.com/l199616j/p/11643652.html
时间: 2024-12-14 21:30:44