伊峰獨居

            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 伊峰 閱讀(393) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 德化县| 潞西市| 镇原县| 延吉市| 香港 | 山东省| 思南县| 中阳县| 绵阳市| 金昌市| 武川县| 宁海县| 隆安县| 德江县| 岑巩县| 余庆县| 安宁市| 红河县| 英德市| 永泰县| 潞城市| 新竹市| 博湖县| 中卫市| 小金县| 郎溪县| 达日县| 广安市| 阿拉善右旗| 怀来县| 银川市| 古田县| 堆龙德庆县| 新泰市| 珲春市| 鹿邑县| 吉隆县| 星座| 巨鹿县| 长沙县| 青铜峡市|