Java运行CMD命令的两种方式并接收返回结果

本文介绍了两种在Java中执行外部命令的方法:一种是通过Runtime类的exec方法,另一种是使用ProcessBuilder类。同时展示了如何读取执行命令后的输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:

public static void main(String[] args) throws Exception {
        Runtime runtime = Runtime.getRuntime();
         
        /*
         * 执行指定的字符串命令
         * 相对路径现在当前目录找,然后去path找
         * 绝对路径直接在绝对路径里找
         */
        //runtime.exec("mspaint.exe");
         
        /*
         * 返回对创建的进程的管理对象
         */
        //Process p = runtime.exec("mspaint.exe");
        //Thread.sleep(10000);
        //杀死刚才创建的进程,打开资源管理器,10秒钟后进程消失
        //p.destroy();
         
         
        /*
         * 还可以用指定方式打开文件
         * 默认是在当前目录找,但是eclipse里面有个src
         * 在eclipse里会去src的上层目录找
         */
        runtime.exec("notepad.exe src/net/xsoftlab/baike/RuntimeDemo.java");
        //后续是执行命令和 并接收返回的结果
  1. /*Process process = runtime.exec("cmd.exe /c dir d:\\");
  2. InputStream inputStream = process.getInputStream();
  3. BufferedReader br = new BufferedReader(new InputStreamReader(inputStream,"gb2312"));
  4. String line = null;
  5. while((line = br.readLine()) != null) {
  6. System.out.println(line);
  7. }*/


    }



方法二:


  1. public static void main(String [] args) throws IOException {
  2. ProcessBuilder builder = new ProcessBuilder();
  3. List<String> list = new ArrayList<>();
  4. list.add("cmd.exe");
  5. list.add("/c");
  6. list.add("dir");
  7. list.add("d:\\");
  8. Process process = builder.command(list).start();
  9. InputStream inputStream = process.getInputStream();
  10. BufferedReader br = new BufferedReader(new InputStreamReader(inputStream,"gb2312"));
  11. String line = null;
  12. while((line = br.readLine()) != null) {
  13. System.out.println(line);
  14. }
  15. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值