`

BufferedReader中文乱码解决

    博客分类:
  • Java
阅读更多

做一个从windows cmd截获命令返回值的java程序,结果截回来的文字中所有的中文都是乱码

 

Microsoft Windows [�汾 6.1.7260]
��Ȩ���� (c) 2009 Microsoft Corporation����������Ȩ��

 

看了一下,问题出在BufferedReader上,原来的代码是:

BufferedReader buffer = new BufferedReader(in);

 

这样会出现编码的问题。我在bufferedReder后面加上了转换成utf-8的方法:

BufferedReader buffer = new BufferedReader(
       new InputStreamReader(in,"utf-8"));

发现还是乱码,试了其他一些编码,最终GBK和GB2312可以成功显示中文。

BufferedReader buffer = new BufferedReader(
       new InputStreamReader(in,"GB2312"));

 

Microsoft Windows [版本 6.1.7260]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

分享到:
评论
2 楼 wangyonglin1123 2019-02-16  
完美解决  谢谢您
1 楼 wangyonglin1123 2019-02-16  
StringBuilder result = new StringBuilder();
         try{
        InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "GB2312");

       
             BufferedReader br = new BufferedReader(isr);//构造一个BufferedReader类来读取文件
             String s = null;
             while((s = br.readLine())!=null){//使用readLine方法,一次读一行
                 result.append(System.lineSeparator()+s);
                 result.append("</br>");
             }
             br.close();   
         }catch(Exception e){
             e.printStackTrace();
         }

相关推荐

Global site tag (gtag.js) - Google Analytics