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();
}