亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java技巧:使用Runtime.exec重定向本地程序調用

2019-11-18 12:11:21
字體:
來源:轉載
供稿:網友

  java具有使用Runtime.exec對本地程序調用進行重定向的能力,但是用重定向或者管道進行命令調用將會出錯。解決這一問題的辦法是通過命令shell運行命令。在Java中調用本地程序會破壞平臺獨立性規則,但是經常需要這么做才行。
  
  以下是一個簡單類的范例,展示了在Unix下運行ls命令的情形:
  
  import java.io.BufferedInputStream;
  import java.io.IOException;
  
  public class ExecLs {
  
   static public void main(String[] args) {
   String cmd = "ls"
  
   try {
   PRocess ps = Runtime.getRuntime().exec(cmds);
   System.out.print(loadStream(ps.getInputStream()));
   System.err.print(loadStream(ps.getErrorStream()));
   } catch(IOException ioe) {
   ioe.printStackTrace();
   }
   }
  
   // read an input-stream into a String
   static String loadStream(InputStream in) throws IOException {
   int ptr = 0;
   in = new BufferedInputStream(in);
   StringBuffer buffer = new StringBuffer();
   while( (ptr = in.read()) != -1 ) {
   buffer.append((char)ptr);
   }
   return buffer.toString();
  
  
  
  
  
   }
  
  }
  
  上述代碼中重要的部分是exec方法和命令字符串ls。本程序將輸出運行目錄下的列表細節。
  
  那么,假如你想重定向這些細節內容到文件該怎么辦?這一命令行的輸入應該寫成ls > FILE,但是當你將cmd變量改變成這樣的話,運行就會出錯,如下:
  
  /bin/ls: >: No sUCh file or Directory
  /bin/ls: FILE: No such file or directory
  
  出錯的原因在于額外的參數被直接傳送到了ls命令而不是送到實際的命令行。解決這一問題的辦法是將cmd串弄成一個字符串數組,并且將你想運行的程序傳送到命令shell。
  
  因此,將cmd行改成下面的樣子:
  
   String[] cmd = { "sh", "-c", "ls > FILE" };
  
  你將得到一個名為FILE的文件,里面是目錄列表。-c參數是告訴它讀取隨后的字符串,而最后的參數是你要運行的腳本。
  
  在這種情況下,管道也運行良好,所以你可以把命令改成下面的方式:
  
  String[] cmd = { "/bin/sh", "-c", "/bin/ls grep d > FILE" };
  
  這種形式將給你一個名為FILE的文件,里面是ls條目中包含d的條目。給出sh和ls的全路徑有利于提供你的程序的安全性。
  
  雖然使用Runtime.exec不是創建獨立于平臺的Java的最佳方式,但是有些時候是必要的。使用這種重定向技術有助于走出Runtime.exec的限制。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品网站在线播放gif| 日韩欧美一区二区在线| 国内精品久久久久久中文字幕| 一本久久综合亚洲鲁鲁| 亚洲视频在线观看视频| 一本大道香蕉久在线播放29| 91精品综合久久久久久五月天| 国语自产精品视频在线看| 亚洲男人天堂2023| 久久久久久久久久婷婷| 国产亚洲成av人片在线观看桃| 欧美精品videosex性欧美| 欧洲亚洲在线视频| 国产精品一区二区三区久久| 国产高清在线不卡| 亚洲精品网址在线观看| 国产精品欧美激情| 亚洲欧美一区二区激情| 欧美超级免费视 在线| 黄色成人在线播放| 一本色道久久综合狠狠躁篇怎么玩| 国产情人节一区| 国产91色在线免费| 国产精品女人网站| 国产精品久久久久av免费| 亚洲第一福利网站| 欧美电影在线观看完整版| 亚洲国产日韩欧美在线99| 亚洲欧美制服综合另类| 中文字幕在线观看亚洲| 欧洲精品久久久| 国产精品普通话| 日韩经典一区二区三区| 亚洲精品ady| 国产精品99久久久久久人| 国产精品精品久久久久久| 亚洲一区亚洲二区亚洲三区| 欧美日韩亚洲高清| 欧美日韩亚洲视频一区| 精品久久久一区| 国产成人鲁鲁免费视频a| 欧美激情亚洲视频| 日韩有码在线播放| 日本aⅴ大伊香蕉精品视频| 久久久久九九九九| 久久在线精品视频| 亚洲自拍高清视频网站| 国产欧美精品xxxx另类| 理论片在线不卡免费观看| 91日本在线观看| 久久久久久噜噜噜久久久精品| 26uuu另类亚洲欧美日本老年| 国产精自产拍久久久久久| 97久久超碰福利国产精品…| 91在线观看欧美日韩| 18一19gay欧美视频网站| 欧美精品性视频| 国产精品福利在线观看| 亚洲综合av影视| 久久久久久噜噜噜久久久精品| 9.1国产丝袜在线观看| 亚洲成人av在线播放| 91牛牛免费视频| 亚洲精品视频在线播放| 久久久噜噜噜久久中文字免| 国产欧亚日韩视频| 国产91久久婷婷一区二区| 中文字幕久热精品在线视频| 日韩中文理论片| 日韩性生活视频| 日韩亚洲欧美中文在线| 色综合久久天天综线观看| 中日韩午夜理伦电影免费| 成人福利网站在线观看11| 日韩网站在线观看| 26uuu亚洲国产精品| 国产区精品视频| 日本亚洲精品在线观看| 九九久久久久99精品| 欧美高清性猛交| 国产日本欧美在线观看| 日韩国产精品视频| 亚洲精品一区二区三区婷婷月| 欧美一二三视频| 欧美激情图片区| 91夜夜揉人人捏人人添红杏| 一本色道久久88综合亚洲精品ⅰ| 欧美一区二粉嫩精品国产一线天| 欧美成人精品h版在线观看| 国产精品成人国产乱一区| 日韩高清电影好看的电视剧电影| 国产精品爽爽爽爽爽爽在线观看| 亚洲一区中文字幕在线观看| 日韩成人中文字幕| 77777少妇光屁股久久一区| 久久亚洲电影天堂| 日韩风俗一区 二区| 91精品在线一区| 欧美国产在线电影| 亚洲国产精品嫩草影院久久| 日韩欧美国产网站| 亚洲天堂男人天堂| 亚洲伊人一本大道中文字幕| 国产精品久久久久久久久久三级| 亚洲欧美日韩天堂一区二区| 136fldh精品导航福利| 亚洲欧美激情精品一区二区| 国产日产亚洲精品| 国产欧美亚洲视频| xxxxxxxxx欧美| 久久久久久香蕉网| 亚洲欧美日韩中文在线| 18性欧美xxxⅹ性满足| 国产美女高潮久久白浆| 欧美一区二区影院| 奇米4444一区二区三区| 欧美一级片一区| 国产成人涩涩涩视频在线观看| 国产精品狼人色视频一区| 成人黄色在线免费| 97视频在线观看视频免费视频| 91精品国产91久久久久久| 91亚洲人电影| 亚洲精品久久久久久久久| 国产九九精品视频| 日韩成人中文字幕在线观看| 激情亚洲一区二区三区四区| 亚洲国产成人精品女人久久久| 亚洲成人网av| 青青a在线精品免费观看| 国产一区香蕉久久| 欧美一级视频一区二区| 精品视频在线播放免| 欧美日韩一区二区免费在线观看| 国产精品一香蕉国产线看观看| 国产69精品久久久| 不卡在线观看电视剧完整版| 国内精品国产三级国产在线专| 亚洲美女av电影| 亚洲成人久久网| 日韩黄色高清视频| 两个人的视频www国产精品| 久久久精品久久久| 亚洲国产精品电影在线观看| 中文.日本.精品| 国产一区二区三区在线播放免费观看| 欧美激情在线观看视频| 精品成人av一区| 久久亚洲欧美日韩精品专区| 日韩av免费一区| 丝袜美腿亚洲一区二区| 国产欧美在线视频| 中文字幕亚洲欧美一区二区三区| 91国内揄拍国内精品对白| 日韩高清人体午夜| xvideos亚洲人网站| 国产精品av免费在线观看| 久久久国产精品视频| 日韩av色在线| 亚洲xxxx在线| 亚洲成人av中文字幕| 国产精品视频999| 久久国产精品首页| 国产精品mp4|