[英]Java: Closing Streams: Streams non-NULL even after close()
在我的finally子句中,我清理了所有流,例如,
finally // Clean up
{
if (os != null) {
try {
os.close();
}
catch (IOException ioe) {
logger.warn("Failed to close outputStream", ioe);
}
}
if (is != null) {
try {
is.close();
}
catch (IOException ioe) {
logger.warn("Failed to close inputStream", ioe);
}
}
但是我看到即使关闭,流仍然保持非NULL。 那么检查NULL是否错误? 还是看不到close
的结果?
流“对象”是对流实例的引用。 流是否打开是其状态的一部分。 close函数是在对象状态下运行的函数,因此不会影响对其的引用。
除非将其设置为null,否则引用将保持非NULL,但是流的状态为关闭,这意味着您无法再使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.