0

我有 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

任何解决方案/想法/建议都受到高度赞赏。

干杯库姆

4

1 回答 1

0

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

于 2013-01-30T12:47:15.203 回答