首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以从流中打开TrueZIP归档吗?

可以从流中打开TrueZIP归档吗?
EN

Stack Overflow用户
提问于 2012-05-08 20:06:37
回答 1查看 253关注 0票数 1

使用TrueZIP,有没有办法从一个流中打开和修改现有的ZIP文件(当然,它也可以使用另一个流输出)?

我有用于修改ZIP的代码,只要我在文件系统上处理现有的真实ZIP文件,它就能完美地工作,但我有一个要求,即所有临时文件在存储在磁盘上时都需要加密。在我们的应用程序的大多数部分中,这很容易实现(使用CipherOutputStream和CipherInputStream),但是我有一个使用TrueZIP更新现有ZIP文件的函数。如果文件是加密的,这部分显然会失败。

ZIP文件将由不支持加密的专有应用程序使用,因此无法使用ZIP规范中的加密。

我们使用TrueZIP的原因是我们需要对Zip64的支持(我知道它包含在Java7中,但我们现在不能切换)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-09 20:17:53

否,存档文件必须存储在可访问的文件系统中,才能与TrueZIP一起使用。但是你还有很多其他的选择:

  • TrueZIP使用IOPoolService界面实例来管理临时文件。您可以提供自己的实现来加密所有临时文件,或者甚至只是将它们存储在堆上(如果它们很小)。请看一下ZIP驱动程序文件,查看implementation.
  • You可以使用ParanoidZipRaesDriver使用RAES加密的TrueZIP文件的参考。此驱动程序通过将用于写入存档文件的并发线程数限制为一个来确保不会使用未加密的临时文件。
  • 您可以将标准ZIP驱动程序与FsOutputOption.ENCRYPT一起使用,以打开WinZip AES加密。要确保不使用未加密的临时文件,可以像ParanoidZipRaesDriver一样重写ZipDriver.newOutputSocket方法。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10498270

复制
相关文章

相似问题

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