【发布时间】:2026-01-08 05:55:02
【问题描述】:
在 try-with-resources [autoclosable] 块内使用 GZipOutputStream 时,我是否需要在资源处理完毕后显式调用 finish()?
【问题讨论】:
标签: java gzipoutputstream autocloseable
在 try-with-resources [autoclosable] 块内使用 GZipOutputStream 时,我是否需要在资源处理完毕后显式调用 finish()?
【问题讨论】:
标签: java gzipoutputstream autocloseable
不,离开 try-with-resources 块时调用的close() 方法调用finish(),因此您无需手动执行此操作。
您可以在其source code 中看到这一点(GZipOutputStream 不会覆盖close(),因此使用了来自其超类DeflaterOutptuStream 的close() 方法)。此外,JavaDoc of close() 声明它“将剩余的压缩数据写入输出流”,这与 finish() 的记录相同。
【讨论】: