1. 程式人生 > 實用技巧 >java 壓縮檔案 zip 可加密

java 壓縮檔案 zip 可加密

<dependency>
    <groupId>net.lingala.zip4j</groupId>
    <artifactId>zip4j</artifactId>
    <version>2.6.4</version>
</dependency>
public static void zip(File currentDir, String toFilePath, String password) throws Exception {
    // 生成的壓縮檔案
    ZipFile zipFile = new
ZipFile(toPath); ZipParameters parameters = new ZipParameters(); // 壓縮方式 parameters.setCompressionMethod(CompressionMethod.DEFLATE); // 壓縮級別 parameters.setCompressionLevel(CompressionLevel.NORMAL); // 是否設定加密檔案 parameters.setEncryptFiles(true); // 設定加密演算法 parameters.setEncryptionMethod(EncryptionMethod.AES);
// 設定AES加密金鑰的金鑰強度 parameters.setAesKeyStrength(AesKeyStrength.KEY_STRENGTH_256); // 設定密碼 if(!Strings.isNullOrEmpty(password)) { zipFile.setPassword(password.toCharArray()); } // 要打包的資料夾 File[] fs = currentDir.listFiles(); // 遍歷test資料夾下所有的檔案、資料夾 for (File f : fList) {
if (f.isDirectory()) { zipFile.addFolder(f, parameters); } else { zipFile.addFile(f, parameters); } } }