如何使用zip4j提取具有密码保护的zip文件
我正在尝试解压缩具有密码保护的zip文件。我知道有一个名为“zip4j”的java库可以帮助我。但是我无法打开zip4j网站来查看教程。
我用另一个镜像下载了zip4j库,但我不知道如何使用它。有没有人可以粘贴使用zip4j解压缩密码保护zip zip文件的示例代码?
非常感谢!
我正在尝试解压缩具有密码保护的zip文件。我知道有一个名为“zip4j”的java库可以帮助我。但是我无法打开zip4j网站来查看教程。
我用另一个镜像下载了zip4j库,但我不知道如何使用它。有没有人可以粘贴使用zip4j解压缩密码保护zip zip文件的示例代码?
非常感谢!
请尝试以下操作,并确保使用的是最新的 Zip4j 库 (1.3.1):
String source = "folder/source.zip";
String destination = "folder/source/";
String password = "password";
try {
ZipFile zipFile = new ZipFile(source);
if (zipFile.isEncrypted()) {
zipFile.setPassword(password);
}
zipFile.extractAll(destination);
} catch (ZipException e) {
e.printStackTrace();
}
在这里,我们有一个文件游戏.zip在Android手机的下载文件夹中,我们正在使用下面给出的密码提取它:
String unzipFileAddress = Environment.DIRECTORY_DOWNLOADS "/Game.zip";
String filePassword = "2222"; // password of the file
String destinationAddress = Environment.DIRECTORY_DOWNLOADS + "/Game";
ZipFile zipFile = new ZipFile(unzipFileAddress, filePassword.toCharArray());
try {
zipFile.extractAll(destinationAddress);
} catch (Exception e) {
// if crashes print the message or Toast
}
在构建 Gradle(应用级别)中添加依赖项之前,请先添加依赖项
dependencies{
implementation 'net.lingala.zip4j:zip4j:2.6.4'
} // for lastest version check the link below
确保您拥有存储权限,这些愚蠢的错误可能会占用您宝贵的时间
// Add in AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
通过手动提取来确保您的zip文件不是损坏的文件。
如果你想用压缩做一些复杂的工作,你应该从这里获得帮助:https://github.com/srikanth-lingala/zip4j