Zip4j无法解压缩在unix中创建的gz文件

时间:2014-05-10 23:45:36

标签: java zip4j

Zip4j无法打开/解压缩在UNIX中创建的gz文件。 7Zip打开文件没有任何问题。 拉链不是enrypted。在读取文件中的文件头之前是否有任何选项可以设置(如主机类型)。

    File file   =   new File("D:/unziptest/i6163795A140507230411.dl.gz");

    try {
        System.out.println(file.length());

        ZipFile zipFile                 =   new ZipFile(file);
        if (!zipFile.isEncrypted()){
            if(zipFile.getFileHeaders()!=null){
                List<FileHeader> files  =   zipFile.getFileHeaders();
                for(FileHeader fileHeader : files){
                    if(fileHeader!=null){
                        System.out.println(fileHeader.getFileName());
                    }
                }
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

输出

16388
net.lingala.zip4j.exception.ZipException: zip headers not found. probably not a zip file
    at net.lingala.zip4j.core.HeaderReader.readEndOfCentralDirectoryRecord(HeaderReader.java:122)
    at net.lingala.zip4j.core.HeaderReader.readAllHeaders(HeaderReader.java:78)
    at net.lingala.zip4j.core.ZipFile.readZipInfo(ZipFile.java:425)
    at net.lingala.zip4j.core.ZipFile.isEncrypted(ZipFile.java:722)
    at UnzipFile.main(UnzipFile.java:35)

1 个答案:

答案 0 :(得分:3)

Zip和gzip是两种不同的不兼容压缩格式,如here所述。我没有要测试您的原始文件,但您应该更好地使用GZipInputStream