今天学到一个小知识,就是如何使用java实现在Windows下执行cmd命令或者在Linux的终端执行命令,也就是执行第三方命令,这里记录一下。
要使用到一个类ProcessBuilder,使用方式如下:

public class TestProcessBuilder {
    public static void main(String[] args) throws IOException {
        //创建ProcessBuilder对象
        ProcessBuilder processBuilder = new ProcessBuilder();
        //通过command方法传入命令,参数有两种,一个是可变参数,另一种是集合,将命令符分开传入或者添加到集合中一起传入均可
        processBuilder.command("ipconfig");
        //将标准输入流和错误输入流合并,通过标准输入流读取信息,
        processBuilder.redirectErrorStream(true);
        //执行命令
        Process start = processBuilder.start();
        //获取回显输入流,进行打印输出
        InputStream inputStream = start.getInputStream();
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "gbk");
        int len = -1;
        char[] c = new char[1024];
        StringBuilder sb = new StringBuilder();
        while ((len = inputStreamReader.read(c)) != -1){
            sb.append(new String(c, 0, len));
        }
        System.out.println(sb);
    }
}

输出结果如下:
在这里插入图片描述
与cmd窗口执行的结果一模一样,经测试,在linux环境中同样有效。

Logo

更多推荐