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

alphacome updated COMPRESS-417:
-------------------------------
    Attachment:     (was: 20000102.0000+0800-20000102.0015+0800_0.tar.gz)

> Decompress tar.gz file failed. java.io.Exception:Error detected parsing the 
> header
> ----------------------------------------------------------------------------------
>
>                 Key: COMPRESS-417
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-417
>             Project: Commons Compress
>          Issue Type: Bug
>          Components: Archivers
>    Affects Versions: 1.14
>            Reporter: alphacome
>            Priority: Critical
>              Labels: tar
>             Fix For: 1.15
>
>
> {code:java}
>     public static void deGzipArchive(String filepath,String dir)
>             throws Exception {
>         final File input = new File(filepath);
>         final InputStream is = new FileInputStream(input);
>         final CompressorInputStream in = new GzipCompressorInputStream(is, 
> true);
>         TarArchiveInputStream tin = new TarArchiveInputStream(in);
>         TarArchiveEntry entry = tin.getNextTarEntry();
>         while (entry != null) {
>             File archiveEntry = new File(dir, entry.getName());
>             archiveEntry.getParentFile().mkdirs();
>             if (entry.isDirectory()) {
>                 archiveEntry.mkdir();
>                 entry = tin.getNextTarEntry();
>                 continue;
>             }
>             OutputStream out = new FileOutputStream(archiveEntry);
>             IOUtils.copy(tin, out);
>             out.close();
>             entry = tin.getNextTarEntry();
>         }
>         in.close();
>         tin.close();
>     }
>     public static void main(String[] args) throws Exception {
>         
> Gztest.deGzipArchive("D:/20000102.0000+0800-20000102.0015+0800_0.tar.gz","D:/");
>     }
> {code}
> the tar.gz file can be decompressed in linux environment use 'tar' command.
> The error log:
> Exception in thread "main" java.io.IOException: Error detected parsing the 
> header
>       at 
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:286)
>       at gztest.deGzipArchive(gztest.java:23)
>       at gztest.main(gztest.java:149)
> Caused by: java.lang.IllegalArgumentException: Invalid byte 100 at offset 0 
> in 'dos{NUL}{NUL}{NUL}{NUL}{NUL}' len=8
>       at 
> org.apache.commons.compress.archivers.tar.TarUtils.parseOctal(TarUtils.java:141)
>       at 
> org.apache.commons.compress.archivers.tar.TarUtils.parseOctalOrBinary(TarUtils.java:171)
>       at 
> org.apache.commons.compress.archivers.tar.TarArchiveEntry.parseTarHeader(TarArchiveEntry.java:1128)
>       at 
> org.apache.commons.compress.archivers.tar.TarArchiveEntry.parseTarHeader(TarArchiveEntry.java:1091)
>       at 
> org.apache.commons.compress.archivers.tar.TarArchiveEntry.<init>(TarArchiveEntry.java:368)
>       at 
> org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:284)
>       ... 2 more
>       



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to