Javadoc说in
,out
和err
已经打开了,我只是想知道他们在节目结束后会关闭吗?如果不是这与使用后关闭任何I / O流引用的做法相矛盾?
答案 0 :(得分:1)
System.in / out / err这些类由JVM实例化,而不是由我们实例化。 因此JVM将负责关闭它们。
答案 1 :(得分:1)
stdin
,stdout
和stderr
非常类似Unix概念,但其他操作系统(如Windows)也复制了这个概念。这些由系统维护,您通常不会关闭它们。
但是,你可以关闭它们,当你fork()
一个程序时,你甚至 关闭它们,这是一种拥有程序的Unix方式从命令行分离并在后台运行,例如守护程序。
System.in
/ out
/ err
遵循此策略。所以你可以关闭它们,但是你不必这样做,因为它们是特殊的系统资源。