【发布时间】:2012-07-26 16:20:58
【问题描述】:
我想截取标准输出流,然后将内容复制到另一个流,但我也希望保持标准输出流和原来一样。我可以用 Java 实现吗?
【问题讨论】:
-
请分享你想要实现的代码
-
绝对有可能,具体实现取决于具体情况。
标签: java outputstream
我想截取标准输出流,然后将内容复制到另一个流,但我也希望保持标准输出流和原来一样。我可以用 Java 实现吗?
【问题讨论】:
标签: java outputstream
您可以使用类似TeeOutputStream 的示例,此处解释为Writing Your Own Java I/O Stream Classes
基本上你创建一个 TeeOutputStream,给它你的流和当前 System.out 然后将 System.setOut 与新流一起使用。
写入 System.out 的任何内容都将写入原始 System.out 以及您的流,因此您可以使用它做任何您想做的事情
编辑:
Oracle 去掉了这个页面,也可以使用 Apache Commons 的TeeOutputStream 来做同样的事情而不添加任何代码。
【讨论】:
看看这个包:org.apache.commons.io.output。我认为TeeOutputStream 就是您要找的。p>
【讨论】: