我使用Writer
作为输出的一些工具。我想写信给System.out
,因此我为OutputStreamWriter
创建了System.out
。我的问题是,在完成此任务后,我想用程序的标准输出做其他事情。我没有找到任何方法来分离作家。
是否有任何常见的Writer
实现可以做到这一点?我应该自己编写Writer
吗?我应该在flush()
上拨打OutputStreamWriter
然后泄漏吗?
答案 0 :(得分:1)
是的,只需.flush()
即可。它并不意味着你“泄漏”它:Writer
对象将被垃圾收集,并且底层流仍在使用中。没错。
答案 1 :(得分:1)
您可以改为关闭和刷新:
PrintWriter w = new PrintWriter(System.out) {
@Override
public void close() {
flush();
}
};