Java读取文件,出现中文乱码,GB2312文件读取乱码
Posted tomcat and jerry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java读取文件,出现中文乱码,GB2312文件读取乱码相关的知识,希望对你有一定的参考价值。
读取编码为gb2312格式的文件,出现中文乱码
普通文件读取,通常使用FileReader
try (FileReader fileReader = new FileReader(sampleFile);
BufferedReader br = new BufferedReader(fileReader);) {
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);//中文乱码,文件格式是gb2312
}
}
解决方案:
用InputStreamReader包装一层,并指定字符集
try(FileInputStream fis = new FileInputStream(sampleFile); InputStreamReader isr = new InputStreamReader(fis, "gb2312"); BufferedReader br = new BufferedReader(isr);){ String line = null; StringBuilder sb = new StringBuilder(); while ((line = br.readLine()) != null) { sb.append(line);//不是乱码 https://www.cnblogs.com/tomcatandjerry } }
以上是关于Java读取文件,出现中文乱码,GB2312文件读取乱码的主要内容,如果未能解决你的问题,请参考以下文章
开发环境Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 GB2312 格式处理中文乱码 | 换行 | Runtime 执行 Cmd 命令 )
使用InputStreamReader读取window系统下的txt文件总是乱码,utf-8,gb2312,gbk都试过了,还是乱码,求解