import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestRuntimeExec {
public static void main(String[] args) {
Runtime r = Runtime.getRuntime();
Process p;
try {
p = r.exec("ping 127.0.0.1");
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream(), "gbk"));
String inline;
while ((inline = br.readLine()) != null) {
String string = new String(inline.getBytes());
System.out.println(string);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果如下:
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream(), "gbk"));
其实关键就是这一句里面的“gbk”,如果没有后面的”gbk“,那么结果如下:
虽然知道乱码的产生是因为编码的问题,但要找到正确的编码和在合适的位置加入编码格式,有折腾过半个钟,主要是因为自己技术太菜吧o(╯□╰)o