Java調(diào)用linux shell腳本的方法
首先,我們需要增加用戶對(duì)該腳本的執(zhí)行權(quán)限,即
String cmdstring = "chmod a+x test.sh";
Process proc = Runtime.getRuntime().exec(cmdstring);
proc.waitFor(); //阻塞,直到上述命令執(zhí)行完
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();
為什么要有上面那段操作呢?
原因是:可執(zhí)行程序的輸出可能會(huì)比較多,而運(yùn)行窗口的輸出緩沖區(qū)有限,會(huì)造成waitFor一直阻塞。解決的辦法是,利用Java提供的Process類(lèi)提供的getInputStream,getErrorStream方法讓Java虛擬機(jī)截獲被調(diào)用程序的標(biāo)準(zhǔn)輸出、錯(cuò)誤輸出,在waitfor()命令之前讀掉輸出緩沖區(qū)中的內(nèi)容。
希望大家能夠喜歡本文,有疑問(wèn)請(qǐng)給我留言。
相關(guān)文章
JavaWeb 網(wǎng)上書(shū)店 注冊(cè)和登陸功能案例詳解
這篇文章主要介紹了JavaWeb 網(wǎng)上書(shū)店 注冊(cè)和登陸功能,結(jié)合具體案例形式詳細(xì)分析了JavaWeb 網(wǎng)上書(shū)店 注冊(cè)和登陸功能具體實(shí)現(xiàn)步驟、操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-08-08
Java超詳細(xì)教你寫(xiě)一個(gè)網(wǎng)絡(luò)購(gòu)書(shū)系統(tǒng)案例
這篇文章主要介紹了怎么用Java來(lái)寫(xiě)一個(gè)購(gòu)書(shū)系統(tǒng),購(gòu)買(mǎi)書(shū)籍主要需要每本書(shū)的編號(hào)、書(shū)名、單價(jià)、庫(kù)存屬性,能夠讓客戶通過(guò)編號(hào)來(lái)選書(shū),感興趣的朋友跟隨文章往下看看吧2022-03-03
Mybatis傳入List實(shí)現(xiàn)批量更新的示例代碼
這篇文章主要介紹了Mybatis傳入List實(shí)現(xiàn)批量更新的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
SpringBoot使用JWT實(shí)現(xiàn)登錄驗(yàn)證的方法示例
這篇文章主要介紹了SpringBoot使用JWT實(shí)現(xiàn)登錄驗(yàn)證的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
Java開(kāi)發(fā)或調(diào)用WebService的幾種方式總結(jié)
java開(kāi)發(fā)過(guò)程中,很多地方都會(huì)遇到數(shù)據(jù)傳遞,遠(yuǎn)程獲取數(shù)據(jù)問(wèn)題,這篇文章主要介紹了Java開(kāi)發(fā)或調(diào)用WebService的幾種方式的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
通過(guò)原理解析Spring mvc的內(nèi)置編碼過(guò)濾器
這篇文章通過(guò)原理主要給大家解析了關(guān)于Spring mvc的內(nèi)置編碼過(guò)濾器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-09-09
Java xml出現(xiàn)錯(cuò)誤 javax.xml.transform.TransformerException: java.
這篇文章主要介紹了Java xml出現(xiàn)錯(cuò)誤 javax.xml.transform.TransformerException: java.lang.NullPointerException的相關(guān)資料,需要的朋友可以參考下2016-11-11

