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

   本文針對爲什麼Runtime.exec("ls")沒有任何輸出作出解答,解答如下:

  調用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());

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章