使用 zip4j 库版本 1.3.2

using zip4j library version 1.3.2

我想使用 zip4j 库版本 1.3.2 获取包含在带密码的 .zip 文件中的文件列表的名称。

package com.gpcoder.compress;
 
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
 
public class UnZip4jExample {
 
    public static final String ZIP_FILE = "C:/demo/zip4jFolderExample.zip";
    public static final String DESTINATION_FOLDER = "C:/demo/outputZip4j";
    public static final String PASSWORD = "yourPassword";
     
    public static void main(String[] args) throws ZipException {
        ZipFile zipFile = new ZipFile(ZIP_FILE);
        if (zipFile.isEncrypted()) {
            zipFile.setPassword(PASSWORD);
        }
        zipFile.extractAll(DESTINATION_FOLDER);
        System.out.println("Done!!!");
    }
}

javafx 中使用 zip4j 版本 1.3.2

您可以创建一个列表来保存您的headers。在列表项中,您可以调用 .getFileName()

        ZipFile zipFile = new ZipFile(fileZip);
        if (zipFile.isEncrypted()) {
            zipFile.setPassword(password);
        }
        List<FileHeader> fileHeaders = zipFile.getFileHeaders();
        for(FileHeader fileHeader : fileHeaders) {
            System.out.println(fileHeader.getFileName()); // getFileName is ok
            zipFile.extractFile(fileHeader, outputFolder);
        }