Javadoc 说in
,out
并且err
“已经打开”,我只是想知道它们会在程序完成后关闭吗?如果不是,是否与使用后关闭任何 I/O 流引用的做法相矛盾?
问问题
77 次
2 回答
1
System.in/out/err 这些类是由 JVM 实例化的,而不是我们。因此 JVM 将负责关闭它们。
于 2018-04-09T04:38:26.687 回答
1
stdin
,stdout
并且stderr
在很大程度上是一个 Unix 概念,但其他操作系统(如 Windows)也复制了这个概念。这些由系统维护,您通常不会关闭它们。
但是,您可以关闭它们,甚至在您执行程序时也必须fork()
关闭它们,这是 Unix 让程序从命令行分离并在后台运行的方式,例如守护程序。
System.in
//遵循这个策略out
。err
所以你可以关闭它们,但你不必这样做,因为它们是特殊的系统资源。
于 2018-04-09T04:48:06.550 回答