[ 
https://issues.apache.org/jira/browse/COMPRESS-508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

AD_LB updated COMPRESS-508:
---------------------------
    Description: 
I'm trying to use ZipArchiveInputStream to iterate over the items of a zip file 
(which may or may not be a real file on the file-system, which is why I use a 
stream), optionally creating a stream from specific entries.

One of the operations I need is to get the size of the files within.

For some reason, it fails to do so. Not only that, but it throws an exception 
when I'm done with it:

Error:org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException: 
Unsupported feature data descriptor used in entry ...

I've attached here 3 files:sample project, the problematic zip file (remember 
that you need to put it in the correct path and grant storage permission), and 
a screenshot of the issue.

Note that if I open the file using a third party PC app (such as 
[7-zip|https://www.7-zip.org]  ), it works fine, including showing the file 
size inside.

Here's the relevant code (kotlin) :

 
{code:java}
        thread {
            try {
                val file = File("/storage/emulated/0/test.zip")
                ZipArchiveInputStream(FileInputStream(file)).use {
                    while (true) {
                        val entry = it.nextEntry ?: break
                        Log.d("AppLog", "entry:${entry.name} ${entry.size} ")
                    }
                }
                Log.d("AppLog", "got archive ")
            } catch (e: Exception) {
                Log.d("AppLog", "Error:$e")
                e.printStackTrace()
            }
        }
{code}

  was:
I'm trying to use ZipArchiveInputStream to iterate over the items of a zip file 
(which may or may not be a real file on the file-system, which is why I use a 
stream), optionally creating a stream from specific entries.

One of the operations I need is to get the size of the files within.

For some reason, it fails to do so. Not only that, but it throws an exception 
when I'm done with it:

Error:org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException: 
Unsupported feature data descriptor used in entry ...

I've attached here 3 files:sample project, the problematic zip file (remember 
that you need to put it in the correct path and grant storage permission), and 
a screenshot of the issue.

Note that if I open the file using a third party PC app (such as 
[7-zip|http://example.com]  ), it works fine, including showing the file size 
inside.

Here's the relevant code (kotlin) :

 
{code:java}
        thread {
            try {
                val file = File("/storage/emulated/0/test.zip")
                ZipArchiveInputStream(FileInputStream(file)).use {
                    while (true) {
                        val entry = it.nextEntry ?: break
                        Log.d("AppLog", "entry:${entry.name} ${entry.size} ")
                    }
                }
                Log.d("AppLog", "got archive ")
            } catch (e: Exception) {
                Log.d("AppLog", "Error:$e")
                e.printStackTrace()
            }
        }
{code}


> Bug: cannot get file size of ArchiveEntry using ZipArchiveInputStream
> ---------------------------------------------------------------------
>
>                 Key: COMPRESS-508
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-508
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 1.20
>         Environment: Android 9 and Android 10, on both emulator and real 
> device .
>            Reporter: AD_LB
>            Priority: Major
>         Attachments: 2020-03-31_20-53-36.png, ZipTest.zip, test.zip
>
>
> I'm trying to use ZipArchiveInputStream to iterate over the items of a zip 
> file (which may or may not be a real file on the file-system, which is why I 
> use a stream), optionally creating a stream from specific entries.
> One of the operations I need is to get the size of the files within.
> For some reason, it fails to do so. Not only that, but it throws an exception 
> when I'm done with it:
> Error:org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException:
>  Unsupported feature data descriptor used in entry ...
> I've attached here 3 files:sample project, the problematic zip file (remember 
> that you need to put it in the correct path and grant storage permission), 
> and a screenshot of the issue.
> Note that if I open the file using a third party PC app (such as 
> [7-zip|https://www.7-zip.org]  ), it works fine, including showing the file 
> size inside.
> Here's the relevant code (kotlin) :
>  
> {code:java}
>         thread {
>             try {
>                 val file = File("/storage/emulated/0/test.zip")
>                 ZipArchiveInputStream(FileInputStream(file)).use {
>                     while (true) {
>                         val entry = it.nextEntry ?: break
>                         Log.d("AppLog", "entry:${entry.name} ${entry.size} ")
>                     }
>                 }
>                 Log.d("AppLog", "got archive ")
>             } catch (e: Exception) {
>                 Log.d("AppLog", "Error:$e")
>                 e.printStackTrace()
>             }
>         }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to