Java解析中文文件时字节流转化为字符流的编码方案必须和源文件一致。编码方案在InputStreamReader类中修改。
FileInputStream fis = new FileInputStream(new File("data.txt"));
InputStreamReader fin = new InputStreamReader(fis,"UTF-8"); // 设字符集为UTF-8,避免乱码
BufferedReader bf = new BufferedReader(fin);
例如读取的txt文件编码为UTF-8, 则Java编码也要设置为UTF-8.
如果不设置Java的编码的话,其编码为GBK,与源文件编码方式不一致,会出现乱码。
在InputStreamReader中设置为UTF-8,乱码解决。