国产探花免费观看_亚洲丰满少妇自慰呻吟_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()命令之前讀掉輸出緩沖區中的內容。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 红桥区| 洛隆县| 阳春市| 木里| 钦州市| 无极县| 镇沅| 新乡市| 察隅县| 临城县| 合肥市| 新野县| 琼海市| 阿拉善右旗| 军事| 广西| 阜新| 区。| 昭平县| 临江市| 石嘴山市| 新建县| 阿荣旗| 娄底市| 鸡西市| 安岳县| 辛集市| 东丽区| 兴城市| 大理市| 兴安县| 维西| 昆明市| 尚义县| 深圳市| 武平县| 崇文区| 博爱县| 博爱县| 富阳市| 武义县|