alphacome created COMPRESS-417:
----------------------------------

             Summary: 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: Compressors
    Affects Versions: 1.14
         Environment: 
{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}


            Reporter: alphacome
            Priority: Critical


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