在我的最后一条中,我清理了任何流,例如,
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);
}
}但是我看到,即使在关闭之后,流仍然是非零的。那么检查空值是错误的吗?还是我没有看到close的结果?
发布于 2016-10-07 14:22:22
流"object“是对流实例的引用。流是否打开是其状态的一部分。close函数是在对象状态下运行的函数,因此不会影响对它的引用。
引用将保持非空,直到设置为空为止,但是流的状态是关闭的,这意味着您不能再使用它了。
https://stackoverflow.com/questions/39919430
复制相似问题