Allen-Steven 2022-12-13 01:27 采纳率: 100%
浏览 33
已结题

Java执行cmd指令,中文输出乱码

问题遇到的现象和发生背景

######IDEA 项目测试环境

    @Test
    public void test222() {
        BufferedReader br = null;
        try {
            Process p = Runtime.getRuntime().exec("net user");
            br = new BufferedReader(new InputStreamReader(p.getInputStream(), Charset.forName("GBK")));
            String line = null;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

运行结果英文和数字均正常,但是中文显示乱码
尝试设置字符集但是没有效果。UTF-8、GBK、GB2312都试过
如何能够在输出框中显示中文,不要乱码,求帮忙,谢谢各位了。
  • 写回答

2条回答 默认 最新

  • miukoo 2022-12-13 07:44
    关注
    
        @Test
        public void test222() {
            BufferedReader br = null;
            try {
                Process p = Runtime.getRuntime().exec("net user");
                br = new BufferedReader(new InputStreamReader(p.getInputStream(), Charset.forName("GBK")));
                String line = null;
                while ((line = br.readLine()) != null) {
                    System.out.println(new String(line.getBytes("GBK"),"UTF-8");
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (br != null) {
                    try {
                        br.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月21日
  • 已采纳回答 12月13日
  • 创建了问题 12月13日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同