2

在 try-with-resources [autoclosable] 块内使用 GZipOutputStream 时,是否需要finish()在完成资源后显式调用?

4

1 回答 1

6

不,close()离开 try-with-resources 块时调用的方法调用finish(),因此您不需要手动执行此操作。

您可以在其源代码中看到这一点(GZipOutputStream不覆盖close(),因此使用close()其超类DeflaterOutptuStream中的方法)。JavaDocclose()还声明它“将剩余的压缩数据写入输出流”,这与finish()文档中的操作相同。

于 2015-03-20T18:38:26.847 回答