我正在制作一个运行多个进程的程序,其中一个是Java程序。
说我在文件Foo中有一个看起来像这样的java程序
com.sun
然后我有了程序
System.out.println("Hello World!");
当我运行它时,它只打印Process p = Runtime.getRuntime().exec("java Foo");
Scanner scan = new Scanner(p.getInputStream());
while(scan.hasNextLine()) System.out.println(scan.nextLine());
System.out.println("done");
scan.close();
,而不是应该从Process读取的done
。我该怎么做?
答案 0 :(得分:0)
您还需要处理流程'错误流,或者只是将其重定向到您已经通过ProcessBuilder API读取的流。
ProcessBuilder builder = new ProcessBuilder();
builder.redirectErrorStream(true);
builder.command("java Foo");
Process p = builder.start();