博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BufferedReader读取中文文本乱码
阅读量:2427 次
发布时间:2019-05-10

本文共 1317 字,大约阅读时间需要 4 分钟。

今天测试lucene构建索引时需要从文本中读取数据,使用BufferReader获取文本数据返回乱码。代码如下:

public static void main(String[] args) {        File file = new File("d:\\1.txt");        System.out.println(fileToString(file));    }    public static String fileToString(File file) {        StringBuilder out = new StringBuilder();        try {            BufferedReader bufferedReader = new BufferedReader(new FileReader(file));            String str = null;            while ((str = bufferedReader.readLine()) != null) {                out.append(str + "\n");            }            bufferedReader.close();        } catch (Exception e) {            e.printStackTrace();        }        return out.toString();    }

1.txt 文本内容

我是一个中国人我爱中国

运行结果:

在这里插入图片描述

解决方法

指定文本编码格式

public static String fileToString(File file) {        StringBuilder out = new StringBuilder();                try {            InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(file), "GB2312");            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);            String str = null;            while ((str = bufferedReader.readLine()) != null) {                out.append(str + "\n");            }            bufferedReader.close();        } catch (Exception e) {            e.printStackTrace();        }        return out.toString();    }

运行结果:

在这里插入图片描述

转载地址:http://rzjmb.baihongyu.com/

你可能感兴趣的文章
IT文档及工具
查看>>
eygle' blog
查看>>
Apple 公司的电影预告片网站
查看>>
ORACLE技术中国用户讨论组
查看>>
unixguide
查看>>
Ruby Code & Style
查看>>
biti's blog
查看>>
chinaunix
查看>>
Lucky
查看>>
ERP100 論壇,ORACLE ERP
查看>>
ORA-600
查看>>
不止 5G 和鸿蒙,华为最新大招,扔出 AI 计算核弹
查看>>
【早报】做Java半年,挣的不如AI 1个月?第二句泪目..
查看>>
反转!2019程序员吸金榜来了,AI程序员刷爆了..
查看>>
学Python后到底能干什么?网友:我太难了
查看>>
华为、BAT力捧!程序员:我彻底慌了...
查看>>
刷爆了!BAT这场AI芯片之战,你更支持谁?
查看>>
定了!刚面完AI岗位,这些题全都考了!程序员:有黑幕!
查看>>
GitHub 热榜第一!这个 Python 项目超 8.4k 标星,网友:太实用!
查看>>
阿里云部署Django项目(nginx+uWSGI)
查看>>