用 InputStreamReader解决utf-8编码问题
原代码:FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
StringBuilder sb = new StringBuilder();
while (line != null) {
line = new String(line.getBytes(), "UTF-8");
sb.append(line + "\n");
line = br.readLine();
}
br.close();
fr.close();
content = sb.toString();
FileReader不可以设置字符编码,只能用默认的字符集进行读取。我们系统默认的字符集为GBK
所以要使用InputStreamReader 这个类
改正后的代码
FileReader fr = new FileReader(file);
InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");
StringBuffer sb = new StringBuffer();
while (isr.ready()) {
sb.append((char) isr.read());
}
isr.close();
fr.close();
content = sb.toString();


浙公网安备 33010602011771号