- 相關(guān)推薦
Java調(diào)用Linux命令行
Java語言以其跨平臺性和簡易性而著稱,在Java里面的lang包里(java.lang.Runtime)提供了一個(gè)允許Java程序與該程序所運(yùn)行的環(huán)境交互的接口,這就是Runtime類,在Runtime類里提供了獲取當(dāng)前運(yùn)行環(huán)境的接口。那么java怎么調(diào)用Linux命令行,跟yjbys小編一起來學(xué)習(xí)一下吧!
Java可以直接調(diào)用Linux命令,形式如下:
Runtime.getRuntime().exec(command)
舉例:運(yùn)行l(wèi)s,top命令可以這樣:
Runtime.getRuntime().exec("ls");
但是這樣執(zhí)行時(shí)沒有任何輸出,原因:
調(diào)用Runtime.exec方法將產(chǎn)生一個(gè)本地的進(jìn)程,并返回一個(gè)Process子類的實(shí)例,
(注意:Runtime.getRuntime().exec(command)返回的是一個(gè)Process類的實(shí)例),
該實(shí)例可用于控制進(jìn)程或取得進(jìn)程的相關(guān)信息. 由于調(diào)用Runtime.exec方法所創(chuàng)建的子進(jìn)程沒有自己的終端或控制臺,因此該子進(jìn)程的標(biāo)準(zhǔn)IO(如stdin,stdou,stderr)都通過Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream()方法重定向給它的父進(jìn)程了.用戶需要用這些stream來向子進(jìn)程輸入數(shù)據(jù)或獲取子進(jìn)程的輸出. 可以采用如下方法:
try
{
Process process = Runtime.getRuntime().exec ("ls");
InputStreamReader ir=new InputStreamReader(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());
}
【Java調(diào)用Linux命令行】相關(guān)文章:
java調(diào)用cmd命令大全10-18
Linux常用命令行匯總10-20
JAVA和JAVAC命令行大全08-14
java命令行參數(shù)解析201606-02
java開發(fā)必會的Linux命令10-25