一:编写程序实现执行cmd指令.
1.1 思路分析:使用Process的exec()将cmd的执行结果通过java的IO流输出到IDE的控制台即可.
Process的exec()方法.看一下源码,发现有好几个构造方法,传单个cmd的,传cmd数组的等.
public Process exec(String command) throws IOException {
return exec(command, null, null);
}
public Process exec(String command, String[] envp) throws IOException {
return exec(command, envp, null);
}
1.2 这里实现单个命令结果输出.cmd的指令是ping www.baidu.com.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class DosUtil {
public static void main(String[] args) {
// Java调用 dos命令
String cmd = "ping www.baidu.com";
try {
Process process = Runtime.getRuntime().exec(cmd);
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String content = br.readLine();
while (content != null) {
System.out.println(content);
content = br.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果:(出现乱码)

分析,dos窗口的编码方式没有指定嘛.
鼠标右键(箭头所指方向).点击属性.


清晰看到是GBK编码.
如果要修改DOS的默认编码,使用如下指令.

再次修改回GBK的编码方式.执行以下命令.(当前代码页).
chcp 936

修改如下代码位置,添加编码参数.

再次运行程序.

dos下执行.

修改dos下字体,颜色,布局的方式.

看到想修改的字体颜色,使用Windows自带的画图工具,吸取颜色,获取RGB颜色代码值,设置就可以了.

本文介绍如何使用Java编程语言调用CMD执行Ping命令,并解析执行结果。通过Runtime类的exec方法,可以将CMD的输出结果通过Java的IO流读取并显示在IDE控制台上。文章还探讨了处理DOS窗口编码问题的方法。


972

被折叠的 条评论
为什么被折叠?



