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)