我有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
非常感谢任何解决方案/想法/建议。
干杯 琴
答案 0 :(得分:0)
也许你可以使用standard java.util.zip.ZipInputStream - 它有一个InputStream的构造函数。您可以使用getNextEntry()
/ closeEntry()
来遍历条目,并使用read()
来获取解压缩数据。