學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

Java調(diào)用Linux命令行

時(shí)間: 志藝942 分享

  Java可以直接調(diào)用Linux命令,你知道Java怎么調(diào)用Linux命令行么?接下來(lái)是小編為大家收集的Java調(diào)用Linux命令行,歡迎大家閱讀:

  Java調(diào)用Linux命令行

  Runtime.getRuntime().exec(command)

  舉例:運(yùn)行l(wèi)s,top命令可以這樣:

  Runtime.getRuntime().exec("ls");

  但是這樣執(zhí)行時(shí)沒(méi)有任何輸出,原因:

  調(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)程沒(méi)有自己的終端或控制臺(tái),因此該子進(jìn)程的標(biāo)準(zhǔn)IO(如stdin,stdou,stderr)都通過(guò)Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream()方法重定向給它的父進(jìn)程了.用戶需要用這些stream來(lái)向子進(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命令行”還想看:

1.獲取Linux命令幫助的六種方法

2.Linux系統(tǒng)在命令行中實(shí)現(xiàn)Wifi 連接的方法

3.如何在windows系統(tǒng)中使用linux的命令

4.java執(zhí)行系統(tǒng)命令linu

5.Win10開啟Linux Bash命令行的

3028704