为何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

相关文章
相关标签/搜索