Java語言以其跨平臺性和簡易性而著稱,在Java裡面的lang包裡(ime)提供了一個允許Java程式與該程式所執行的環境互動的介面,這就是Runtime類,在Runtime類裡提供了獲取當前執行環境的介面。那麼java怎麼呼叫Linux命令列,跟yjbys小編一起來學習一下吧!
Java可以直接呼叫Linux命令,形式如下:
untime()(command)
舉例:執行ls,top命令可以這樣:
untime()("ls");
但是這樣執行時沒有任何輸出,原因:
呼叫方法將產生一個本地的`程序,並返回一個Process子類的例項,
(注意:untime()(command)返回的是一個Process類的例項),
該例項可用於控制程序或取得程序的相關資訊. 由於呼叫方法所建立的子程序沒有自己的終端或控制檯,因此該子程序的標準IO(如stdin,stdou,stderr)都通過utputStream(),nputStream(), rrorStream()方法重定向給它的父程序了.使用者需要用這些stream來向子程序輸入資料或獲取子程序的輸出. 可以採用如下方法:
try
{
Process process = untime() ("ls");
InputStreamReader ir=new InputStreamReader(nputStream());
LineNumberReader input = new LineNumberReader (ir);
String line;
while ((line = Line ()) != null){
tln(line)
}
catch (ception e){
tln ("IOException " + essage());
}