[BAEL-5033] How to create Password-protected Zip files and Unzip them in Java (#11066)
Co-authored-by: tienvn4 <tienvn4@ghtk.co>
This commit is contained in:
		
							parent
							
								
									d36b90a1d0
								
							
						
					
					
						commit
						b80ed90d5c
					
				| @ -29,6 +29,11 @@ | ||||
|             <artifactId>commons-vfs2</artifactId> | ||||
|             <version>${vfs.version}</version> | ||||
|         </dependency> | ||||
|         <dependency> | ||||
|             <groupId>net.lingala.zip4j</groupId> | ||||
|             <artifactId>zip4j</artifactId> | ||||
|             <version>2.9.0</version> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
| 
 | ||||
|     <properties> | ||||
|  | ||||
| @ -0,0 +1,22 @@ | ||||
| package com.baeldung.java.io.zip4j; | ||||
| 
 | ||||
| import net.lingala.zip4j.ZipFile; | ||||
| import net.lingala.zip4j.exception.ZipException; | ||||
| import net.lingala.zip4j.model.ZipParameters; | ||||
| import net.lingala.zip4j.model.enums.EncryptionMethod; | ||||
| 
 | ||||
| import java.io.File; | ||||
| import java.util.Arrays; | ||||
| 
 | ||||
| public class CreateSplitZipFile { | ||||
| 
 | ||||
|     public static void main(String[] args) throws ZipException { | ||||
|         ZipParameters zipParameters = new ZipParameters(); | ||||
|         zipParameters.setEncryptFiles(true); | ||||
|         zipParameters.setEncryptionMethod(EncryptionMethod.AES); | ||||
|         ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray()); | ||||
|         int splitLength = 1024 * 1024 * 10; //10MB | ||||
|         zipFile.createSplitZipFile(Arrays.asList(new File("aFile.txt")), zipParameters, true, splitLength); | ||||
|         zipFile.createSplitZipFileFromFolder(new File("/users/folder_to_add"), zipParameters, true, splitLength); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,12 @@ | ||||
| package com.baeldung.java.io.zip4j; | ||||
| 
 | ||||
| import net.lingala.zip4j.ZipFile; | ||||
| import net.lingala.zip4j.exception.ZipException; | ||||
| 
 | ||||
| public class ExtractAllFile { | ||||
| 
 | ||||
|     public static void main(String[] args) throws ZipException { | ||||
|         ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray()); | ||||
|         zipFile.extractAll("/destination_directory"); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,12 @@ | ||||
| package com.baeldung.java.io.zip4j; | ||||
| 
 | ||||
| import net.lingala.zip4j.ZipFile; | ||||
| import net.lingala.zip4j.exception.ZipException; | ||||
| 
 | ||||
| public class ExtractSingleFile { | ||||
| 
 | ||||
|     public static void main(String[] args) throws ZipException { | ||||
|         ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray()); | ||||
|         zipFile.extractFile("aFile.txt", "/destination_directory"); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,19 @@ | ||||
| package com.baeldung.java.io.zip4j; | ||||
| 
 | ||||
| import net.lingala.zip4j.ZipFile; | ||||
| import net.lingala.zip4j.exception.ZipException; | ||||
| import net.lingala.zip4j.model.ZipParameters; | ||||
| import net.lingala.zip4j.model.enums.EncryptionMethod; | ||||
| 
 | ||||
| import java.io.File; | ||||
| 
 | ||||
| public class ZipFolder { | ||||
| 
 | ||||
|     public static void main(String[] args) throws ZipException { | ||||
|         ZipParameters zipParameters = new ZipParameters(); | ||||
|         zipParameters.setEncryptFiles(true); | ||||
|         zipParameters.setEncryptionMethod(EncryptionMethod.AES); | ||||
|         ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray()); | ||||
|         zipFile.addFolder(new File("/users/folder_to_add"), zipParameters); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,27 @@ | ||||
| package com.baeldung.java.io.zip4j; | ||||
| 
 | ||||
| import net.lingala.zip4j.ZipFile; | ||||
| import net.lingala.zip4j.exception.ZipException; | ||||
| import net.lingala.zip4j.model.ZipParameters; | ||||
| import net.lingala.zip4j.model.enums.EncryptionMethod; | ||||
| 
 | ||||
| import java.io.File; | ||||
| import java.util.Arrays; | ||||
| import java.util.List; | ||||
| 
 | ||||
| public class ZipMultiFile { | ||||
| 
 | ||||
|     public static void main(String[] args) throws ZipException { | ||||
|         ZipParameters zipParameters = new ZipParameters(); | ||||
|         zipParameters.setEncryptFiles(true); | ||||
|         zipParameters.setEncryptionMethod(EncryptionMethod.AES); | ||||
| 
 | ||||
|         List<File> filesToAdd = Arrays.asList( | ||||
|                 new File("aFile.txt"), | ||||
|                 new File("bFile.txt") | ||||
|         ); | ||||
| 
 | ||||
|         ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray()); | ||||
|         zipFile.addFiles(filesToAdd, zipParameters); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,21 @@ | ||||
| package com.baeldung.java.io.zip4j; | ||||
| 
 | ||||
| import net.lingala.zip4j.ZipFile; | ||||
| import net.lingala.zip4j.exception.ZipException; | ||||
| import net.lingala.zip4j.model.ZipParameters; | ||||
| import net.lingala.zip4j.model.enums.CompressionLevel; | ||||
| import net.lingala.zip4j.model.enums.EncryptionMethod; | ||||
| 
 | ||||
| import java.io.File; | ||||
| 
 | ||||
| public class ZipSingleFile { | ||||
| 
 | ||||
|     public static void main(String[] args) throws ZipException { | ||||
|         ZipParameters zipParameters = new ZipParameters(); | ||||
|         zipParameters.setEncryptFiles(true); | ||||
|         zipParameters.setCompressionLevel(CompressionLevel.HIGHER); | ||||
|         zipParameters.setEncryptionMethod(EncryptionMethod.AES); | ||||
|         ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray()); | ||||
|         zipFile.addFile(new File("aFile.txt")); | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user