簡體   English   中英

如何使用Apache Commons壓縮庫從ZipArchiveInputStream獲取單個文件內容

[英]How to get individual file contents from ZipArchiveInputStream using Apache commons compress library

我有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.util.zip.ZipInputStream-它具有InputStream的構造函數。 您可以使用closeEntry() getNextEntry() / closeEntry()遍歷條目,並使用read()獲得解壓縮的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM