Java調(diào)用Linux命令行
Java語言以其跨平臺性和簡易性而著稱,在Java里面的lang包里(java.lang.Runtime)提供了一個允許Java程序與該程序所運行的環(huán)境交互的接口,這就是Runtime類,在Runtime類里提供了獲取當(dāng)前運行環(huán)境的'接口。那么java怎么調(diào)用Linux命令行,跟yjbys小編一起來學(xué)習(xí)一下吧!
Java可以直接調(diào)用Linux命令,形式如下:
Runtime.getRuntime().exec(command)
舉例:運行l(wèi)s,top命令可以這樣:
Runtime.getRuntime().exec("ls");
但是這樣執(zhí)行時沒有任何輸出,原因:
調(diào)用Runtime.exec方法將產(chǎn)生一個本地的進(jìn)程,并返回一個Process子類的實例,
(注意:Runtime.getRuntime().exec(command)返回的是一個Process類的實例),
該實例可用于控制進(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)用linux命令傳輸遠(yuǎn)程大文件05-24
java jar 命令行參數(shù)05-14
java調(diào)用cmd命令大全11-15
JAVA和JAVAC命令行大全11-13
java命令行參數(shù)解析201611-11
Linux常用命令行匯總11-14