国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java調用linux shell腳本的方法

2019-11-26 15:17:37
字體:
來源:轉載
供稿:網友

首先,我們需要增加用戶對該腳本的執行權限,即

復制代碼 代碼如下:

 String cmdstring = "chmod a+x test.sh";
 Process proc = Runtime.getRuntime().exec(cmdstring);
 proc.waitFor(); //阻塞,直到上述命令執行完
 cmdstring = "bash test.sh"; //這里也可以是ksh等
 proc = Runtime.getRuntime().exec(cmdstring);
 // 注意下面的操作
 string ls_1;
 BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(proc.getInputStream());
 while ( (ls_1=bufferedReader.readLine()) != null);
 bufferedReader.close();
 proc.waitFor();

為什么要有上面那段操作呢?

原因是:可執行程序的輸出可能會比較多,而運行窗口的輸出緩沖區有限,會造成waitFor一直阻塞。解決的辦法是,利用Java提供的Process類提供的getInputStream,getErrorStream方法讓Java虛擬機截獲被調用程序的標準輸出、錯誤輸出,在waitfor()命令之前讀掉輸出緩沖區中的內容。

希望大家能夠喜歡本文,有疑問請給我留言。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 碌曲县| 通许县| 且末县| 永清县| 隆尧县| 朝阳区| 广州市| 卢氏县| 沂水县| 文登市| 朝阳县| 桦南县| 云龙县| 南康市| 宁明县| 康定县| 南宫市| 德化县| 象州县| 阳西县| 利津县| 云龙县| 赣榆县| 巢湖市| 阿巴嘎旗| 德格县| 辽源市| 神农架林区| 天柱县| 自贡市| 扎鲁特旗| 定襄县| 通化市| 台湾省| 应用必备| 碌曲县| 阿城市| 靖远县| 嘉禾县| 玛曲县| 绿春县|