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

方法一:

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、付费专栏及课程。

余额充值