Zip4j 无法打开/提取在 UNIX 中创建的 gz 文件。7Zip 打开文件没有任何问题。zip 未加密。在读取文件中的文件头之前是否有任何选项要设置(如主机类型)。
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)