BufferedReader读取文件指定字符集问题
默认的读取方式
BufferedReader bufferedReader = new BufferedReader(new FileReader(realPath));
指定字符集方式
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(realPath),“UTf-8”));
BufferedReader类读取中文乱码
解决方法:
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)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。