这不仅仅是字节流。这涉及到任何实施Closeable
.
正如文档所述:
调用 close 方法来释放对象所持有的资源(例如打开的文件)。
无论 a 是否Closeable
拥有系统资源,经验法则是:不要冒险。.close()
正确地执行此操作,您将确保释放此类系统资源(如果有)。
典型的习惯用法(注意InputStream
implements Closeable
):
final InputStream in = whateverIsNeeded;
try {
workWith(in);
} finally {
in.close();
}
Run Code Online (Sandbox Code Playgroud)
在 Java 7 中,您还拥有AutoCloseable
(它Closeable
实现了)和 try-with-resources 语句,因此:
try (
final InputStream in = whateverIsNeeded;
) {
workWith(in);
}
Run Code Online (Sandbox Code Playgroud)
in
这将为您处理关闭。
再次强调:不要冒险。如果您不使用 JDK 7 但可以负担得起 Guava,请使用Closer
.
归档时间: |
|
查看次数: |
2123 次 |
最近记录: |