使用Java捕获生成的程序的IO

时间:2013-03-26 19:08:17

标签: java multithreading jar io spawn

我正在用Java编写一个程序,它依赖于与我的目录相同的预编译第三方JAR。在运行时,我的程序检查该文件是否存在,如果不存在则下载。然后执行它的主类。但是,生成的程序会将大量文本直接打印到控制台。有没有办法从stdout“捕获”(并因此隐藏)此输出并将我自己的输入直接从我的父应用程序返回到stdin?理想情况下,我希望子程序驻留在同一个JVM中,所以我想避免使用任何版本的Runtime.exec()

1 个答案:

答案 0 :(得分:0)

使用Java 1.5+ ProcessBuilder类和Process类。请记住,如果您没有正确处理其流,该过程将会阻止。