我有一个受密码保护的zip文件,该文件仅在Mac中使用7zx和Keka打开。我必须在Java中编写代码以解压缩密码保护的ZIP文件,然后对其进行一些操作。我尝试在apache.commons.compress中使用七Z API,但我无法压缩它的例外,不好的7Z签名。是否有任何API支持用于解压缩zip文件?
unzip -P test@123 abcd.zip
Archive: abcd.zip
skipping: abcd.txt need PK compat. v5.1 (can do v2.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();
}