[
https://issues.apache.org/jira/browse/COMPRESS-380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16317182#comment-16317182
]
Dawid Weiss commented on COMPRESS-380:
--------------------------------------
I've decompressed the entire ~6GB archive without any errors with the code from
the current head of COMPRESS-380 branch (I just decompressed it, didn't diff
against the original!). This is great, although the performance penalty is huge
at the moment (read: it takes forever... an order of magnitude slower than the
C version; the archive took ~3 hours to just decompress while total commander
manages the same in a few minutes). I looked at zlib implementation of inflate
(they create smart lookup tables for larger bit windows) and found a Java
implementation of this concept in [1]. The speed this implementation achieves
is quite nice (see [2]); could be something to think about in the future as an
improvement. For the time being, even a slow implementation is better than none
(although this seems almost suspiciously slow).
[1]
https://github.com/nayuki/DEFLATE-library-Java/blob/master/src/io/nayuki/deflate/InflaterInputStream.java
[2] https://www.nayuki.io/page/deflate-library-java
> Support for ENHANCED_DEFLATED (Deflate64) in ZIP files
> ------------------------------------------------------
>
> Key: COMPRESS-380
> URL: https://issues.apache.org/jira/browse/COMPRESS-380
> Project: Commons Compress
> Issue Type: New Feature
> Reporter: Dawid Weiss
> Fix For: 1.16
>
> Attachments: archive-deflate.zip, archive-deflate64.zip, archive.zip,
> archive64.zip, compress-380.diff, hello.world, input2
>
>
> Some of the (large) ZIP files we try to process currently will throw this:
> {code}
> UnsupportedZipFeatureException: unsupported feature method
> 'ENHANCED_DEFLATED'
> {code}
> which is a bummer since JDK's implementation also doesn't support Deflate64.
> This seems to be PKWare's extensions, although code to decrypt it exists in
> zlib (and is appropriately licensed, I believe).
> https://github.com/madler/zlib/tree/master/contrib/infback9
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)