我正在尝试提取包含受密码保护的PDF文件的ZIP文件。下面是我的提取ZIP文件的代码。
ZipFile zipFile = new ZipFile(new File("C:\\Users\\sathesh\\Desktop\\temp.zip"));
if (zipFile.isEncrypted()) {
zipFile.setPassword("abcd1234");
}
zipFile.extractAll("D:\\temp\\final");
一旦执行代码,ZIP文件就会被提取,但我正在丢失应用于PDF文件的密码保护。如何在不丢失文件密码保护的情况下提取ZIP文件。
注意:如果我发表评论zipFile.setPassword("abcd1234");
,那么我就会发现异常
线程中的异常" main" net.lingala.zip4j.exception.ZipException:net.lingala.zip4j.exception.ZipException:net.lingala.zip4j.exception.ZipException:为AES Decryptor提供的空或空密码 at net.lingala.zip4j.unzip.Unzip.initExtractFile(Unzip.java:163) at net.lingala.zip4j.unzip.Unzip.initExtractAll(Unzip.java:83) at net.lingala.zip4j.unzip.Unzip.extractAll(Unzip.java:73) at net.lingala.zip4j.core.ZipFile.extractAll(ZipFile.java:488) at net.lingala.zip4j.core.ZipFile.extractAll(ZipFile.java:451) 在Shiva.ZipProtect.zipFileUsingPassProtect(ZipProtect.java:51) 在Shiva.ZipProtect.main(ZipProtect.java:25) 引起:net.lingala.zip4j.exception.ZipException:net.lingala.zip4j.exception.ZipException:为AES Decryptor提供的空或空密码 at net.lingala.zip4j.unzip.UnzipEngine.unzipFile(UnzipEngine.java:98) at net.lingala.zip4j.unzip.Unzip.initExtractFile(Unzip.java:160) ......还有6个 引起:net.lingala.zip4j.exception.ZipException:为AES Decryptor提供的空或空密码 at net.lingala.zip4j.crypto.AESDecrypter.init(AESDecrypter.java:99) at net.lingala.zip4j.crypto.AESDecrypter。(AESDecrypter.java:65) at net.lingala.zip4j.unzip.UnzipEngine.initDecrypter(UnzipEngine.java:202) 在net.lingala.zip4j.unzip.UnzipEngine.init(UnzipEngine.java:185) at net.lingala.zip4j.unzip.UnzipEngine.getInputStream(UnzipEngine.java:118) at net.lingala.zip4j.unzip.UnzipEngine.unzipFile(UnzipEngine.java:78) ......还有7个
我正在使用 Zip4j 来创建和解压缩ZIP文件。