关于输入输出流中文乱码的问题,英文可以正确的读写,唯独中文就是一片乱码:
InputStream inputStream = new FileInputStream(path);
// 创建BufferedReader对象
InputStreamReader inputReader = new InputStreamReader(inputStream, "UTF-8");
网上好多的教程都说是要把编码格式设置为”UTF-8“就可以解决中文乱码的问题,我看不见得。我自己的程序调了两三天都没调成来,就是因为这样的思想误导了我!其实这里的编码格式是”GBK“或者”gb2312“,而不是什么的”UTF-8“。大家多看看自己的代码的编码格式,然后再设置这个参数吧!总体来说,还是具体问题具体分析。即要把自己的代码的编码格式和读写的格式对应起来,如果代码的编码格式是“GBK”则InputStreamReader inputReader = new InputStreamReader(inputStream, "UTF-8")这里的“UTF-8”就不对!
正确方法:InputStreamReader inputReader = new InputStreamReader
(inputStream, "gb2312");