温馨提示×

java unzip能否加密文件

小樊
142
2024-07-20 19:00:06
栏目: 编程语言

是的,Java中可以使用密码来加密和解密ZIP文件。可以使用ZipEntry.setCrc方法设置密码,以确保只有知道密码的用户才能解压缩文件。以下是一个简单的示例代码:

import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; public class UnzipWithPassword { public static void main(String[] args) { String zipFilePath = "encrypted.zip"; String destDir = "unzipped"; String password = "mypassword"; try { byte[] buffer = new byte[1024]; ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFilePath)); ZipEntry zipEntry = zis.getNextEntry(); while (zipEntry != null) { String fileName = zipEntry.getName(); FileOutputStream fos = new FileOutputStream(destDir + "/" + fileName); int len; while ((len = zis.read(buffer)) > 0) { fos.write(buffer, 0, len); } fos.close(); zipEntry = zis.getNextEntry(); } zis.closeEntry(); zis.close(); System.out.println("File unzipped successfully"); } catch (Exception e) { System.out.println("Error unzipping file: " + e.getMessage()); } } } 

在上面的示例中,我们通过ZipInputStream读取ZIP文件中的内容,然后逐个解压缩文件。要使用加密ZIP文件,您需要在解压缩文件之前设置密码。这可以通过将密码传递给ZipInputStream的构造函数来实现。

0