解決BufferedReader读取中文乱码问题

58 篇文章 0 订阅
45 篇文章 0 订阅

Java InputStreamReader 将Stream转String出现乱码.  确认了文件原来有中文,不是乱码.

            InputStream in=new FileInputStream("D:\\temp\\user2.txt");
            System.out.println(stream2String(in));

            //stream2String方法的主要代码:

            sb = new StringBuffer();
          //bfReader = new BufferedReader(new InputStreamReader(in));  //会出乱码
            bfReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
            
            String line = bfReader.readLine();

后来设置了UTF-8原是出现乱码.

bfReader = new BufferedReader(new InputStreamReader(in, "UTF-8"));   //网上几乎,青一色,都是说这种设置。

查了下原来文件的编码,是GB2312,恍然大悟。

原因: 

要看文件是什么编码,用文件的编码读取,可以不是乱码.  比如,文件是GB2312,用 UTF-8读,还是会乱码的. 用GB2312就不会.

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值