java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java程序执行cmd命令

Java程序执行cmd命令全过程

作者:大道之简

这篇文章主要介绍了Java程序执行cmd命令全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

编写程序实现执行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颜色代码值,设置就可以了.

简单总结,使用Process类的相应方法执行就可以了.

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文