Java-код для открытия защищенного паролем zip-файла, который открывается только с 7zx и keka в Mac OS

У меня есть защищенный паролем почтовый файл, который открывается только с 7zx и keka в Mac. Я должен написать код в Java, чтобы распаковать zip-файл, защищенный паролем, а затем выполнить некоторые операции с ним. Я пытался использовать Sevenz API в apache.commons.compress, но я не могу сжать его, получая исключение, плохая подпись 7Z. Есть ли поддержка API для распаковки ZIP-файлов?

unzip -P test@123 abcd.zip
Archive:  abcd.zip
   skipping: abcd.txt  need PK compat. v5.1 (can do v2.1)

1 ответ

Решение

Насколько я помню, есть библиотека, а именно zip4j, проверьте эту ссылку

И попробуйте этот код:

//zip password
String pass="abc";
try {
    ZipFile zipFile = new ZipFile("dir/xyz.zip");
      if (zipFile.isEncrypted()) {
         zipFile.setPassword(pass);
    }
//extract somewhere in directory
zipFile.extractAll("dir/abc");
} 
 catch (ZipException e) {
 e.printStackTrace();
}
Другие вопросы по тегам