библиотека zip4j. Не открывается зип архив на маке, на виндоус все работает
Пишу архиватор, использую zip4j. Архив создается, файл в него помещается, архив паролируется. При вводе неверного пароля предлагает ввести еще раз, при верном пароле получаю следующее:
вот код класса архиватора:
public class Zipper {
public void pack() throws IOException {
ZipParameters zipParameters = new ZipParameters();
zipParameters.setEncryptFiles(true);
zipParameters.setEncryptionMethod(EncryptionMethod.AES);
zipParameters.setAesKeyStrength(AesKeyStrength.KEY_STRENGTH_256);
File file = new File("/Users/axionlogvinov/Desktop/file.txt");
file.createNewFile();
ZipFile zipFile = new ZipFile("/Users/axionlogvinov/main_file.zip", "password".toCharArray());
zipFile.addFile(file, zipParameters);
}
}
Ответы (1 шт):
Отладка:
Код, который вы предоставили, выглядит корректным, но стоит проверить, есть ли какие-либо предупреждения или исключения, которые могут быть выданы в течение процесса создания ZIP-файла.
Для отладки можно добавить логирование исключений:
try {
// ваш код для создания архива
} catch (ZipException e) {
e.printStackTrace();
}
Формат шифрования:
Если файл успешно распаковывается через командную строку или с помощью сторонних программ, проблема может быть в том, что встроенный архиватор macOS не поддерживает используемый формат шифрования. Такое шифрование, как AES-256, не всегда поддерживается всеми архиваторами по умолчанию.
Перекрёстное тестирование:
Попробуйте создать несколько архивов с разными настройками шифрования и без шифрования, чтобы увидеть, возникает ли проблема с распаковкой архивов без шифрования. Если нет, точно проблема в совместимости шифрования.