[ 
https://issues.apache.org/jira/browse/COMPRESS-380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16319080#comment-16319080
 ] 

Dawid Weiss commented on COMPRESS-380:
--------------------------------------

The thing is: I really like when the compiler makes it explicit for me. I do 
read the docs, but mistakes do happen. Also, this really doesn't look trappy in 
the current form:

{code}
    try (ZipFile zfile = new ZipFile("/my/file.zip")) { 
      Enumeration<ZipArchiveEntry> entries = zfile.getEntries();
      while (entries.hasMoreElements()) {
        ZipArchiveEntry e = entries.nextElement();
        try (InputStream is = zfile.getInputStream(e)) {
// .. read is in blocks or wrap in a BufferedInputStream... doesn't matter, 
// it'll be slow.
{code}

and it is trappy. That constructor on ZipFile creates an unbuffered stream and 
this causes 10x slower performance than it could have been if the stream was 
buffered. I don't see how it can be fixed from the user side, actually, as even 
if you do wrap the output from zfile.getInputStream in a buffered input stream 
(or read in large byte[] blocks), the performance will still be very, very poor.


> 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)

Reply via email to