我可以解复用流吗



我想将一个Process的stderr(getErrorStream)和stdout(getInputStream)连接到一个单独的Stream中,以便在其他地方使用。Java的库中有什么东西可以为我做到这一点吗?

注意:没有外部库。我对Apache Commons IO提供的解决方案的存在不感兴趣。我只想知道JDK是否附带了一些东西。

ProcessBuilder.redirectErrorStream(boolean)可以随心所欲。

public ProcessBuilder redirectErrorStream(boolean redirectErrorStream)

设置此流程生成器的redirectErrorStream属性。

如果此属性为true,则由该对象的start()方法随后启动的子进程生成的任何错误输出都将与标准输出合并,以便使用Process.getInputStream()方法读取两者。这样可以更容易地将错误消息与相应的输出关联起来。初始值为false

EDIT:@由于Java 5或更高版本,因此应该可以广泛使用。

您可以使用SequenceInputStream合并2个InputStream。

不,JDK中没有这样的东西(直到6,在7中我还没有查看过每个类)。

相关内容

  • 没有找到相关文章

最新更新