伊峰独居

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  30 随笔 :: 30 文章 :: 5 评论 :: 0 Trackbacks

.bat文件执行的时候,如果有屏幕输出,就必须要读取这个输出,如果不读取,就会导致这个bat不会被执行下去。所以,只要用个InputStream把输出读出来就ok了。

另外,谁也不能保证Process运行以后系统的PATH到底是什么,所以建议写上调用的bat的绝对路径

import java.io.IOException;
import java.io.InputStream;

public class TestProcess {
    public static void main(String[] args) {
          String command = "c:\\aaa.bat";
          try {
                Process child = Runtime.getRuntime().exec(command);
                InputStream in = child.getInputStream();
                int c;
                while ((c = in.read()) != -1) {
                    System.out.print(c);//如果你不需要看输出,这行可以注销掉
                }
                in.close();
                try {
                    child.waitFor();
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                System.out.println("done");
          } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
          }
    }
}

posted on 2006-08-25 13:48 伊峰 阅读(387) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: