Java用BufferedReader读取文件中时总是乱码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java用BufferedReader读取文件中时总是乱码相关的知识,希望对你有一定的参考价值。
@Testpublic void FileInput() throws IOException
File f = new File("io.txt");
FileInputStream fip = new FileInputStream(f);
// 构建InputStreamReader对象,编码与写入相同
InputStreamReader reader = new InputStreamReader(fip, "UTF-8");
StringBuffer stringBuffer = new StringBuffer();
while (reader.ready())
// 转成char加到StringBuffer对象中
stringBuffer.append((char) reader.read());
System.out.println(stringBuffer.toString());
reader.close();
fip.close();
参考技术A 把文件中的文字编码改成UTF-8 参考技术B 固定一下 UTF-8 参考技术C 转换前需要强制类型
Java 解決BufferedReader读取UTF-8文件中文乱码
链接:https://blog.csdn.net/maxracer/article/details/5436580
(侵删)
读取txt文件乱码:
BufferedReader read = new BufferedReader(new FileReader(new File(filename)));
解决办法:
InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");
BufferedReader read = new BufferedReader(isr);
因为InputStreamReader和BufferedReader都继承自Reader,而BufferedReader的构造器又是Reader.
以上是关于Java用BufferedReader读取文件中时总是乱码的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Java 的 BufferedReader 与 InputStreamReader 读取文件?
Java,为啥从 MappedByteBuffer 读取比从 BufferedReader 读取慢
java从键盘接受字符串行BufferedReader(InputStreamReader(System.in))这样用BufferedReader对象读取行