在try-wtth-resources块中使用GZIPOutputStream对象时,是否需要调用finish()

时间:2015-03-20 17:59:05

标签: java gzipoutputstream autocloseable

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

1 个答案:

答案 0 :(得分:4)

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

您可以在source code中看到这一点(GZipOutputStream不会覆盖close(),因此会使用其超级close()中的DeflaterOutptuStream方法。此外,JavaDoc of close()表示它“将剩余的压缩数据写入输出流”,这与finish()相同。