最近用到了BufferedReader 乱码问题,经过尝试,以下为解决办法
原代码为:
BufferedReader read = new BufferedReader(new FileReader(new File(filename)));
修改后为:
因为InputStreamReader和BufferedReader都继承自Reader,而BufferedReader的构造器又是Reader.
InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");BufferedReader br= new BufferedReader(isr);
以下为全部代码,仅供参考
File file = new File(filePath);
String isHasFile = "0";StringBuilder sb = new StringBuilder();if(file.exists()){//将文件内容读取出来 InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8"); BufferedReader br = new BufferedReader(isr); String s = null; while((s = br.readLine())!=null){ sb.append(s); } br.close();}
本文详细介绍了如何通过修改BufferedReader的构造方式,使用UTF-8编码解决从文件读取时遇到的乱码问题,包括创建InputStreamReader和BufferedReader的正确步骤,适用于Java编程。
777

被折叠的 条评论
为什么被折叠?



