隨筆-86  評論-33  文章-0  trackbacks-0

          Java可以直接調用Linux命令,形式如下:
           Runtime.getRuntime().exec(command)

           舉例:運行ls,top命令可以這樣:
           Runtime.getRuntime().exec("ls");

           但是這樣執行時沒有任何輸出原因: 
           調用Runtime.exec方法將產生一個本地的進程,并返回一個Process子類的實例,
          (注意:Runtime.getRuntime().exec(command)返回的是一個Process類的實例),
          該實例可用于控制進程或取得進程的相關信息. 由于調用Runtime.exec方法所創建的子進程沒有自己的終端或控制臺,因此該子進程的標準IO(如stdin,stdou,stderr)都通過Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream()方法重定向給它的父進程了.用戶需要用這些stream來向子進程輸入數據或獲取子進程的輸出. 可以采用如下方法:

          try
          {
           Process process = Runtime.getRuntime().exec ("ls"); 

           InputStreamReader ir=newInputStreamReader(process.getInputStream());
           LineNumberReader input = new LineNumberReader (ir);

           String line;
           while ((line = input.readLine ()) != null){
            System.out.println(line)
          }
          catch (java.io.IOException e){
           System.err.println ("IOException " + e.getMessage());
          }

          posted on 2007-05-08 10:45 Derek.Guo 閱讀(7456) 評論(2)  編輯  收藏

          評論:
          # re: Java調用Linux命令 2009-07-29 13:54 |
          我如果想在jsp中調用linux的命令 進行文件復制 怎么作?  回復  更多評論
            
          # re: Java調用Linux命令 2013-02-20 16:53 | 網絡記事本
          這個很不錯,謝謝了!我正需要這個功能!  回復  更多評論
            

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          MSN:envoydada@hotmail.com QQ:34935442
          主站蜘蛛池模板: 杭锦旗| 黄陵县| 曲水县| 崇阳县| 扶绥县| 瑞昌市| 克拉玛依市| 灌云县| 耒阳市| 山阳县| 盖州市| 南雄市| 新津县| 定日县| 观塘区| 榆林市| 顺平县| 松原市| 尉犁县| 西安市| 潍坊市| 峡江县| 隆林| 阳山县| 抚松县| 绥滨县| 商南县| 广昌县| 集安市| 廉江市| 建阳市| 宜兰市| 兰考县| 天全县| 沈阳市| 高青县| 年辖:市辖区| 永和县| 郴州市| 察隅县| 九龙城区|