Apache Commons Compress ( https://commons.apache.org/proper/commons-compress/ )に代わる圧縮 Java ライブラリを探しています。Commons Compress は、deflate64 である「ENHANCED_DEFLATED」を使用して圧縮された zip エントリを読み取ろうとすると、エラーをスローします。例外をスローするサンプルの抜粋を次に示します。
public void doRecurseZip(File inputFile)
throws IOException{
ZipFile srcZip = null;
srcZip = new ZipFile(inputFile);
final Enumeration<ZipArchiveEntry> entries = srcZip.getEntries();
while (entries.hasMoreElements()) {
final ZipArchiveEntry srcEntry = entries.nextElement();
String entryFilename = srcEntry.getName();
String entryMimetype = "application/octet-stream";
boolean canRead = srcZip.canReadEntryData(srcEntry);
InputStream zipStream = srcZip.getInputStream(srcEntry);
zipStream.close();
}
srcZip.close();
}
スタック トレースの関連部分は次のとおりです。
org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException: サポートされていない機能メソッド 'ENHANCED_DEFLATED' が org.apache.commons.compress.archivers.zip.ZipUtil.checkRequestedFeatures(ZipUtil.java:357) のエントリ test.docx で使用されていますorg.apache.commons.compress.archivers.zip.ZipFile.getInputStream(ZipFile.java:404) at ZippingAround.doRecurseZip(ZippingAround.java:23)
Commons Compress を置き換えることができる、または deflate64 圧縮方法のためにそれと連携して動作する可能性のある別の zip ライブラリを知っている人はいますか?