diff options
author | Keuin <[email protected]> | 2020-12-29 10:06:01 +0800 |
---|---|---|
committer | Keuin <[email protected]> | 2020-12-29 10:06:01 +0800 |
commit | 82e3986045ac7eaca6aaa290fb2283fd6c6c901a (patch) | |
tree | 2a1783e8ded2d5dbe9b7365a9b5f71757310e046 /src/main/java/com/keuin/kbackupfabric/util/ZipUtil.java | |
parent | fd9124f475422f62691fb542c3f8f35790b65d9b (diff) |
Support specifying zip compression level (not finished)
Diffstat (limited to 'src/main/java/com/keuin/kbackupfabric/util/ZipUtil.java')
-rw-r--r-- | src/main/java/com/keuin/kbackupfabric/util/ZipUtil.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/com/keuin/kbackupfabric/util/ZipUtil.java b/src/main/java/com/keuin/kbackupfabric/util/ZipUtil.java index c670cf1..285fe83 100644 --- a/src/main/java/com/keuin/kbackupfabric/util/ZipUtil.java +++ b/src/main/java/com/keuin/kbackupfabric/util/ZipUtil.java @@ -7,6 +7,8 @@ import java.io.*; import java.util.Enumeration; import java.util.zip.*; +import static java.util.zip.Deflater.DEFAULT_COMPRESSION; + public final class ZipUtil { /** @@ -70,7 +72,7 @@ public final class ZipUtil { * @throws IOException IO Error * @throws ZipUtilException General exception, such as loop recursion. */ - public static void makeBackupZip(String srcPath, String zipPath, String zipFileName, BackupMetadata backupMetadata) throws IOException, ZipUtilException { + public static void makeBackupZip(String srcPath, String zipPath, String zipFileName, BackupMetadata backupMetadata, int zipLevel) throws IOException, ZipUtilException { if (srcPath == null || zipPath == null || zipFileName == null || backupMetadata == null || srcPath.isEmpty() || zipPath.isEmpty() || zipFileName.isEmpty()) { throw new IllegalArgumentException("Parameter for zip() contains null."); } @@ -107,6 +109,7 @@ public final class ZipUtil { checkedOutputStream = new CheckedOutputStream(new FileOutputStream(zipFile), new CRC32()); zipOutputStream = new ZipOutputStream(checkedOutputStream); + zipOutputStream.setLevel(zipLevel); // If with backup metadata, we serialize it and write it into file "kbackup_metadata" ZipEntry metadataEntry = new ZipEntry(BackupMetadata.metadataFileName); @@ -140,6 +143,10 @@ public final class ZipUtil { } } + public static void makeBackupZip(String srcPath, String zipPath, String zipFileName, BackupMetadata backupMetadata) throws IOException, ZipUtilException { + makeBackupZip(srcPath, zipPath, zipFileName, backupMetadata, DEFAULT_COMPRESSION); + } + /** * 解压缩zip包 * |