伊峰獨居

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

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


          網站導航:
           
          主站蜘蛛池模板: 景东| 建始县| 九江市| 西贡区| 博罗县| 津南区| 通道| 蓬莱市| 禄劝| 景宁| 绥滨县| 信丰县| 新泰市| 延津县| 福建省| 涡阳县| 新河县| 太白县| 江北区| 沂源县| 大名县| 隆昌县| 慈溪市| 阿合奇县| 普格县| 武冈市| 崇礼县| 南召县| 安西县| 邹城市| 阜南县| 青铜峡市| 光泽县| 宁强县| 长海县| 诸城市| 北海市| 临桂县| 芦山县| 涪陵区| 乐昌市|