首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >closeEntry()类ZipOutputStream

closeEntry()类ZipOutputStream
EN

Stack Overflow用户
提问于 2016-11-07 15:06:29
回答 1查看 730关注 0票数 1

我正在使用Java7编写代码,并使用了“用资源进行尝试”功能。当我创建一个ZipOutputStream实例时。通过这样做,我不再需要关闭最后块中的流。使用资源进行尝试(当然是由JVM管理)。

我的问题是- closeEntry()的用法如何?我应该在try块中编写这个方法,还是应该删除它,JVM就会像使用方法close()一样,通过try- with特性自动关闭它?

我几乎可以肯定,它与具有资源的尝试(或最终块)无关,我应该在我的try块中执行它,而不是在块中(如果我使用常规的尝试-捕获--最终),但是我想要确定它。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-11-07 15:26:53

closeEntry()的使用如何?我应该在try块中编写这个方法,还是应该删除它,JVM就会像使用方法close()一样,通过try- with特性自动关闭它?

如果希望调用closeEntry(),则应安排调用它。它不会自动调用时,尝试-与-资源块是退出-至少不是直接。对于带有closeEntry()putNextEntry()逻辑对来说,并且进入try块的主体并不会导致调用putNextEntry(),也不应该这样做。

事实上,如果一个条目在调用时是打开的,则流闭包可能包含closeEntry()的效果。但是,这还没有文档化,所以最安全的做法是确实确保在最后一个条目之后调用closeEntry()。您也可以在条目之间调用它,但不需要这样做,因为在启动新条目之前,putNextEntry()被记录为关闭任何打开的条目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40468385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档