今天遇到个问题, 用FileReader读出来的文件中文乱码, 原来是FileReader不支持编码格式的设置, java源代码和读取的文本文件的编码必须是一样的,不然会出现乱码.于是出现下面的代码转换,可是还是不完美,明明是"搜索结果返回</td>"变成"搜索结果返回??/td>"
while (r != null) {
str += new String(r.getBytes(),"utf-8");
r=br.readLine();
System.out.println(r);
}
所以还是用InputStreamReader,搞定, 代码如下,
try {
FileInputStream fis = new FileInputStream(path);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8" );
BufferedReader br = new BufferedReader(isr);
String str = "";
String r = br.readLine();
while (r != null) {
str += r;
r=br.readLine();
}
return str;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}