评论

收藏

[Java] 解决java 命令行乱码的问题

编程语言 编程语言 发布于:2021-08-06 15:19 | 阅读数:449 | 评论:0

虚拟机参数加上
-Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Duser.language=zh -Duser.region=CN
补充:java执行cmd命令,返回结果中文乱码问题解决
public static void main(String[] args) { 
    try { 
    // 执行ping命令 
    Process process = Runtime.getRuntime().exec("cmd /c e:&dir"); 
    BufferedReader br = new BufferedReader(
 new InputStreamReader( process.getInputStream(), Charset.forName("GBK") )
); 
    String line = null; 
    while ((line = br.readLine()) != null) { 
      System.out.println(line); 
    } 
    } catch (IOException e) { 
    e.printStackTrace(); 
    } 
  }
DSC0000.jpg

我的代码
package net.bigwrok;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
public class Test2_net {
  public static void main(String[] args) {  
  BufferedReader br = null;
  try {
    Process p = Runtime.getRuntime().exec("ping 127.0.0.1");
    br = new BufferedReader(new InputStreamReader(p.getInputStream(),Charset.forName("GBK")));
    String line = null;
    StringBuilder sb=new StringBuilder();
    while ((line = br.readLine()) != null) {
    sb.append(line+"\n");
    }
    System.out.println(sb.toString()); 
    
  } catch (Exception e) {
    e.printStackTrace();
  } finally {
    if (br != null) {
    try {
      br.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
    }
  } 
  }
}
结果
DSC0001.jpg

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.cnblogs.com/liuys635/p/13355532.html

关注下面的标签,发现更多相似文章