Runtime.exec的标准输出不会自动发送到调用方的标准输出。
要做这样的事情-
访问派生进程的标准输出,读取然后将其写出。请注意,使用
getInputStream()Process实例的方法,派生流程的输出对父级可用。
public static void main(String[] args) throws Exception { System.setOut(new PrintStream(new FileOutputStream("test.txt"))); System.out.println("HelloWorld1"); try { String line; Process p = Runtime.getRuntime().exec( "echo HelloWorld2" ); BufferedReader in = new BufferedReader( new InputStreamReader(p.getInputStream()) ); while ((line = in.readLine()) != null) { System.out.println(line); } in.close(); } catch (Exception e) { // ... }}


