我正在尝试使用 zip4j jar 文件提取受密码保护的 ZIP 文件,但出现以下错误

I am trying to extract password-protected ZIP files using zip4j jar file but i am getting error for following

我是 Java 的新手,我正在尝试使用 java 提取受密码保护的 ZIP 文件,我已经为此编写了代码,但是我遇到了一些方法的错误,例如isEncrypted(), fileHeaderList(), extractFile(), 我搜索了一些相关的 posts/issues 但没有找到确切的解决方案。 你们谁能帮我解决这个问题

 import java.util.ArrayList;
    import java.util.List;
    import java.util.zip.ZipFile;
    import net.lingala.zip4j.model.FileHeader;

    public class Extraction {
    public Extraction() {

            try {
                ZipFile zipFile = new ZipFile("C:\Users\rajesh\Desktop\ZipFile\file1.zip");

                //Error for isEncrypted() "The method isEncrypted() is undefined for the type ZipFile"
                if (zipFile.isEncrypted()) {
                                        zipFile.setPassword("MYPASS!");
                }

                //The method getFileHeaders() is undefined for the type ZipFile
                List fileHeaderList = zipFile.getFileHeaders();

                                for (int i = 0; i < fileHeaderList.size(); i++) {
                    FileHeader fileHeader = (FileHeader)fileHeaderList.get(i);
        //The method extractFile(FileHeader, String) is undefined for the type ZipFile                              
zipFile.extractFile(fileHeader, "C:\Users\rajesh\Desktop\ZipFile");
                }

            } catch (Exception e) {
                System.out.println("Please Try Again");
            }

        }

        public static void main(String[] args) {
            new Extraction();

        }

    }

您正在导入 java.util.zip.ZipFile,但听起来您想改用 zip4j ZipFile class。我不熟悉该库,但根据在线文档,我认为您可能想要导入 net.lingala.zip4j.core.ZipFile.

您已导入 java.util.zip.ZipFile 并试图对其调用不存在的方法。您可以通过我上面提供的 link 找到 ZipFile 的 API。由于您还导入了 net.lingala.zip4j.model.FileHeader,我猜您想使用与 java.util.zip 下找到的不同的 zip 库。所以为了解决你的问题,你必须清理你的进口。您很可能需要删除包 java.util.zip 的导入语句,并需要从 net.lingala.zip4j.*.

导入适当的 类