解决方法:
BufferedReader in = new BufferedReader(new FileReader(filename, Charset.forName("utf-8")));
在new FileReader类对象的时候,使用
FileReader(String fileName, Charset charset)
这个构造函数传一个参数指定一下字符集就OK了。原因是不指定字符集的话就会使用默认的字符集(一般是GBK),若与要读取文件的字符集不一致,则即便是字符流也会出现乱码。
字符集获取方法(Charset类是不可变类):
Charset.forName(String charsetName)