日期:2014-05-20  浏览次数:20880 次

FileReader不能设置字符编码
我发现FileReader是不能设置字符编码,那么 它的默认编码是怎么指定的哦?


------解决方案--------------------
系统平台默认编码

可以这样设置编码:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("xxx"), "UTF-8"));
------解决方案--------------------
FileReader不支持指定文件的字符编码,是当前系统的默认编码来解码文件的输入字节流.
但是FileInputStream可以指定呀!
比如重新写个方法这不行了。
Java code

public FileReaderForCharSet(String fileName,String charSetName) throws FileNotFoundException, UnsupportedEncodingException {
  super(new FileInputStream(fileName),charSetName);
}

------解决方案--------------------
探讨
系统平台默认编码

可以这样设置编码:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("xxx"), "UTF-8"));