2

try-with-resources [autoclosable] ブロック内で GZipOutputStream を使用する場合、リソースを使い終わっfinish()た後に明示的に呼び出す必要がありますか?

4

1 に答える 1

6

いいえ、close()try-with-resources ブロックを出るときに呼び出されるメソッドは を呼び出すfinish()ため、これを手動で行う必要はありません。

これはソース コードで確認できます(GZipOutputStreamはオーバーライドしないclose()ため、close()スーパー クラスのメソッドDeflaterOutptuStreamが使用されます)。また、JavaDoc にclose()は、「残りの圧縮データを出力ストリームに書き込む」と記載されています。これは、finish()文書化されているのと同じです。

于 2015-03-20T18:38:26.847 に答える