20

我只是想知道,我们通常在最后关闭流,但我们为什么不关闭System.outPrintStreamSystem.out.close()呢?

4

3 回答 3

23

如果关闭它,您将无法再写入控制台,所以让我们在进程终止时将此任务留给 VM。您应该只关闭您拥有或手动创建的流。System.out是你无法控制的,所以留给创作者来处理。

于 2011-09-17T20:56:44.293 回答
16

因为我们没有打开它,VM打开了它,除非另有说明,否则关闭它是他的工作

这类似于我不拥有它的 C++ 格言,不是吗delete

于 2011-09-17T20:58:54.913 回答
5

当然,您仍然可以使用 flush() 它。

于 2011-09-17T20:58:13.787 回答