繁体   English   中英

Java:关闭流:即使在close()之后也流非NULL

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM