Java 使用zip4j库解压加密文件,在第一个文件为空的情况下获得结果 for(int i=0;iYou似乎在每次迭代中都试图提取相同的zip文件-这对我来说很奇怪。“ps.迭代只是一种尝试密码的方法”-听起来你应该在if(zip.isEncrypted())中循

Java 使用zip4j库解压加密文件,在第一个文件为空的情况下获得结果 for(int i=0;iYou似乎在每次迭代中都试图提取相同的zip文件-这对我来说很奇怪。“ps.迭代只是一种尝试密码的方法”-听起来你应该在if(zip.isEncrypted())中循,java,zip,zip4j,Java,Zip,Zip4j,使用zip4j库解压加密文件,在第一个文件为空的情况下获得结果 for(int i=0;iYou似乎在每次迭代中都试图提取相同的zip文件-这对我来说很奇怪。“ps.迭代只是一种尝试密码的方法”-听起来你应该在if(zip.isEncrypted())中循环*然后,在那里捕获异常。@printemp您是否尝试过使用JD反编译器来找出库中发生了什么? for(int i=0; i<password.length;i++){ ZipFile zip = new ZipFile(p

使用zip4j库解压加密文件,在第一个文件为空的情况下获得结果
for(int i=0;iYou似乎在每次迭代中都试图提取相同的zip文件-这对我来说很奇怪。“ps.迭代只是一种尝试密码的方法”-听起来你应该在
if(zip.isEncrypted())中循环*
然后,在那里捕获异常。@printemp您是否尝试过使用JD反编译器来找出库中发生了什么?
 for(int i=0; i<password.length;i++){
      ZipFile zip = new ZipFile(path);
      if (zip.isEncrypted()) {
          zip.setPassword(password[i]);
      }
      try{
          zip.extractAll(neweachpath);
      } 
      catch(ZipException e)
      {if (e.getCode()==ZipExceptionConstants.WRONG_PASSWORD){
          //System.out.println("wrong password");
      }
  }
  }