我想截取标准输出流,然后将内容复制到另一个流,但我也希望保持标准输出流和原来一样。我可以用Java实现吗?
问问题
4999 次
2 回答
6
您可以使用类似于TeeOutputStream
此处解释的示例编写您自己的 Java I/O 流类
基本上,您创建一个 TeeOutputStream,给它您的流和当前 System.out,然后将 System.setOut 与新流一起使用。
写入 System.out 的任何内容都将写入原始 System.out 以及您的流,因此您可以使用它做任何您想做的事情
编辑:
Oracle 去掉了这个页面,也可以使用Apache Commons 的TeeOutputStream来做同样的事情,而无需添加任何代码。
于 2012-07-26T16:29:59.257 回答
1
看看这个包:org.apache.commons.io.output。我认为TeeOutputStream是您正在寻找的。
于 2012-10-19T21:36:08.327 回答