posts - 108,comments - 56,trackbacks - 0
             在java程序中有時候需要調(diào)用操作系統(tǒng)的一些功能,特別是在unix/linux環(huán)境下,命令行提供了很多有用功能。比如啟動或者停止服務(wù)。我寫個簡單的程序,可以幫助理解。
          import java.io.BufferedInputStream;
          import java.io.BufferedReader;
          import java.io.IOException;
          import java.io.InputStreamReader;

          public class CommandLine {
              
          public static void main(String[] args) throws IOException {
                  
          if (args == null || args.length == 0) {
                      System.out.println(
          "請輸入命令行參數(shù)(例:java CommandLine 'netstat')");
                  } 
          else {
                      String cmd 
          = "";
                      
          for (int i = 0; i < args.length; i++)
                          cmd 
          += " " + args[i];
                      
          try {
                          Runtime run 
          = Runtime.getRuntime();
                          Process p 
          = run.exec(cmd);//啟動另一個進程來執(zhí)行命令
                          BufferedInputStream in = new BufferedInputStream(p.getInputStream());
                          BufferedInputStream err 
          = new BufferedInputStream(p.getErrorStream());
                          BufferedReader inBr 
          = new BufferedReader(new InputStreamReader(in));
                          BufferedReader errBr 
          = new BufferedReader(new InputStreamReader(err));
                          String lineStr;
                          
          while ((lineStr = errBr.readLine()) != null)
                              System.out.println(lineStr);
                          
          while ((lineStr = inBr.readLine()) != null)
                              System.out.println(lineStr);
                          
          //檢查命令是否執(zhí)行失敗。
                          try {
                              
          if (p.waitFor()!=0) {
                                  
          if(p.exitValue()==1)//p.exitValue()==0表示正常結(jié)束,1:非正常結(jié)束
                                      System.err.println("命令執(zhí)行失敗!");
                              }
                          }
          catch (InterruptedException e){
                              e.printStackTrace();
                          }
                      } 
          catch (Exception e) {
                          e.printStackTrace();
                      }
                  }
              }
          }
             執(zhí)行程序:
            
          posted on 2007-06-02 09:34 破繭而出 閱讀(4280) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 文山县| 武清区| 苏尼特左旗| 桂平市| 铜川市| 山阴县| 富锦市| 东明县| 政和县| 石台县| 塘沽区| 裕民县| 邮箱| 琼结县| 平南县| 乐陵市| 黎城县| 报价| 金寨县| 吴旗县| 华安县| 多伦县| 荣成市| 延吉市| 武胜县| 大安市| 二连浩特市| 海原县| 聊城市| 利辛县| 博白县| 江油市| 博野县| 桐乡市| 怀宁县| 太仓市| 扎赉特旗| 苏尼特左旗| 彰武县| 昌黎县| 台前县|