【问题标题】:How to get individual file contents from ZipArchiveInputStream using Apache commons compress library如何使用 Apache 公共压缩库从 ZipArchiveInputStream 获取单个文件内容
【发布时间】:2013-01-29 16:50:40
【问题描述】:

我有 org.apache.commons.compress.archivers.zip.ZipArchiveInputStream 对象, 我可以从中获取每个 ArchiveEntry 项目并获取单个文件的元数据。 但我需要知道将每个文件的内容作为 Blob 获取的方法。

使用 org.apache.commons.compress.archivers.zip.ZipFile 可以做到, 但是 ZipFile 具有带有物理或临时 File 对象或文件位置的构造函数。 我不想为此创建一个临时文件。

即使有办法将 ZipArchiveInputStream 转换为 ZipFile,它也能解决 间接的问题。

简而言之,我的要求是从 InputStream/Blob 中读取一个 Zip 文件,并将单个文件作为 BLOB 存储在数据库中。

仅供参考:我正在使用 org.apache.commons :: commons-compress :: 1.4.1

非常感谢任何解决方案/想法/建议。

干杯 库姆

【问题讨论】:

    标签: java zip apache-commons-compress


    【解决方案1】:

    也许你可以使用standard java.util.zip.ZipInputStream - 它有一个 InputStream 的构造函数。可以使用getNextEntry()/closeEntry()遍历条目,read()获取解压后的数据。

    【讨论】:

      猜你喜欢
      • 2010-09-19
      • 2015-09-03
      • 2016-03-07
      • 2013-07-18
      • 2018-01-04
      • 2010-12-12
      • 2018-09-21
      • 2010-12-24
      • 2010-09-22
      相关资源
      最近更新 更多