黑马程序员技术交流社区

标题: 如何解决Java IO读写中文乱码的问题? [打印本页]

作者: android0276    时间: 2014-7-1 21:25
标题: 如何解决Java IO读写中文乱码的问题?
本帖最后由 android0276 于 2014-7-6 20:24 编辑

这是源码:
InputStream inputStream = new FileInputStream(filePath);
// 创建BufferedReader对象
InputStreamReader inputReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputReader);
String temp = null;
while ((temp = bufferedReader.readLine()) != null) {
System.out.println(temp);
}
输出的汉语全乱码怎么回事?
作者: yanghu    时间: 2014-7-1 21:27
你读取的那个文件保存时不是以utf-8编码保存的,所以会乱码

作者: blue_sky    时间: 2014-7-2 09:03
首先,你读取的文件保存的时候,使用的是默认的编码方式,如果使用你的这个程序得到的是乱码,那么,文件保存的默认编码肯定不是UTF-8编码模式;
假如保存的时候默认编码是ANSI,
你可以把:
    InputStreamReader inputReader = new InputStreamReader(inputStream, "UTF-8");
改为:
    InputStreamReader inputReader = new InputStreamReader(inputStream);
都是使用默认编码,输出的就一样了;

对于中文字符的乱码问题;一定要确保读取的文件的编码和读取流的编码方式一样才行;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2