【发布时间】:2017-02-16 13:58:21
【问题描述】:
在我的 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);
}
}
但我看到 Streams 即使在关闭后仍然保持非 NULL。那么检查NULL是错误的吗?还是我看不到close 的结果?
【问题讨论】:
-
您使用的是 Java 7 吗?如果是这样,请查看 try-with-resources,然后您甚至不必担心关闭流,因为它会为您处理(只要它们实现自动关闭,像 BufferedInputStream 这样的大多数东西都会这样做
标签: java