爲何Runtime.exec("ls")沒有任何輸出_JAVA基礎教程

   本文針對爲何Runtime.exec("ls")沒有任何輸出做出解答,解答以下:java

  調用Runtime.exec方法將產生一個本地的進程,並返回一個Process子類的實例,該實例可用於控制進程或取得進程的相關信息. 因爲調用Runtime.exec方法所建立的子進程沒有本身的終端或控制檯,所以該子進程的標準IO(如stdin,stdou,stderr)都經過Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream()方法重定向給它的父進程了.用戶須要用這些stream來向 子進程輸入數據或獲取子進程的輸出. 因此正確執行Runtime.exec("ls")的例程以下:

try

{

process = Runtime.getRuntime().exec (command);

InputStreamReader ir=newInputStreamReader(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());

}ide

相關文章
相關標籤/搜索