其他分享
首页 > 其他分享> > 解決BufferedReader读取中文乱码问题

解決BufferedReader读取中文乱码问题

作者:互联网

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就不会.

标签:UTF,乱码,解決,BufferedReader,bfReader,new,InputStreamReader
来源: https://blog.csdn.net/abckingaa/article/details/118544598