为什么刷新在System.err上不起作用



我正在开发一个主类,它通过e.printStackTrace()并且以结束

System.err.flush();
System.out.println("n>>> EXITING...");

问题是,当异常跟踪很大时,我的退出消息仍然打印在所有错误布道的中间。

我做错了什么?

System.errSystem.out是两个独立的流。即使刷新输出,也只意味着所有字符都已发送到o/s。读取两个流的终端(?)在显示这两个流时,可能仍会对其进行交织。

一种补救方法可能是将流绑定在一起,有效地将System.err流写入System.out,但在显示时会丢失区分两个流的任何颜色等。

也有同样的问题。我在冲洗后添加了Thread.sleep(5)。然后它起作用了。

相关内容

  • 没有找到相关文章

最新更新