【问题标题】:How to properly close a BufferedInputStream如何正确关闭 BufferedInputStream
【发布时间】:2019-09-24 12:07:53
【问题描述】:

我从 InputStream 创建了一个 BufferedInputStream。我可以通过调用其 close() 方法来关闭 BufferedInputStream。我是否也应该关闭创建它的 InputStream,还是自动关闭?

【问题讨论】:

  • 没有。 BufferedInputStream 扩展FilterInputStream,并指定FilterInputStream.close() 关闭它正在过滤的流。

标签: inputstream java-io


【解决方案1】:

关闭BufferedInputStream 就足够了,因为它也关闭了底层流。

这在实现中也可以看出:https://github.com/openjdk/jdk/blob/9a7209ef346e4f78b6153e998ecdfac72edc5580/src/java.base/share/classes/java/io/BufferedInputStream.java#L482

【讨论】:

    猜你喜欢
    • 2017-10-15
    • 2012-04-27
    • 2014-02-22
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 2017-03-29
    相关资源
    最近更新 更多