我想将getErrorStream
的stderr(getInputStream
)和stdout(Process
)加入到其他地方消费的单Stream
中。 Java库中有什么东西可以帮我吗?
注意:没有外部库。我对Apache Commons IO提供的解决方案的存在不感兴趣。我只想知道JDK是否附带了什么。
答案 0 :(得分:1)
ProcessBuilder.redirectErrorStream(boolean)
做你想做的事。
public ProcessBuilder redirectErrorStream(boolean redirectErrorStream)
设置此流程构建器的
redirectErrorStream
属性。如果此属性为
true
,则此对象的start()
方法随后启动的子进程生成的任何错误输出都将与标准输出合并,以便可以使用{{1 }} 方法。这使得更容易将错误消息与相应的输出相关联。初始值为Process.getInputStream()
。
编辑:@Since Java 5或更高版本应该广泛使用。
答案 1 :(得分:0)
您可以使用SequenceInputStream合并2 InputStream。
答案 2 :(得分:0)
不,JDK中没有任何东西可以做到这一点(直到6,我还没有看过每一个课程。)