gpt4 book ai didi

java - try-with-resources 中的 DigestInputStream 是否会关闭原始 InputStream?

转载 作者:行者123 更新时间:2023-11-30 06:41:13 25 4
gpt4 key购买 nike

如果我在 try-with-resources block 中声明了 DigestInputStream,是否需要显式关闭原始 InputStream

例子:

InputStream is = ...;
MessageDigest md = ...;

try (final DigestInputStream digestInputStream = new DigestInputStream(is, md)) {
// Read the stream...
}

我是否需要手动关闭?

最佳答案

因为 DigestInputStream 是一个 AutoCloseable,所以当您在 try-with-resources block 中声明它时,您不需要手动关闭它。

来自 AutoCloseable 的文档:

The {@link #close()} method of an {@code AutoCloseable} object is called automatically when exiting a {@code try}-with-resources block for which the object has been declared in the resource specification header.

此外,FilterInputStream 重写了 close 方法,该方法关闭了使用的 InputStream

关于java - try-with-resources 中的 DigestInputStream 是否会关闭原始 InputStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56074586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com