java生成压缩包并加密的设置 java压缩文件为zip并加密

在本文中,我们来学习如何用Zip4j库创建受密码保护的压缩文件并将其解压 。
依赖让我们先把 zip4j 依赖关系添加到我们的 pom.xml 文件中 。
<dependency><groupId>net.lingala.zip4j</groupId><artifactId>zip4j</artifactId><version>2.9.0</version></dependency>压缩一个文件首先,我们将使用ZipFile addFile()方法将一个名为aFile.txt的文件压缩到一个名为compressed.zip的有密码保护的 zip 文件 。
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"), zipParameters);setCompressionLevel一行是可选的 。我们可以从FASTEST到ULTRA级别中选择(默认是NORMAL) 。
在这个例子中,我们使用了AES加密 。如果我们想使用Zip标准加密,我们只需用ZIP_STANDARD替换AES 。
注意,如果文件 “aFile.txt “在磁盘上不存在,该方法将抛出一个异常 。net.lingala.zip4j.exception.ZipException File does not exist: …
为了解决这个问题,我们必须确保该文件是手动创建并放置在项目文件夹中 , 或者我们必须从Java中创建它 。
File fileToAdd = new File("aFile.txt");if (!fileToAdd.exists()) {fileToAdd.createNewFile();}另外,在我们完成了新的ZipFile之后,需要及时关闭资源:
zipFile.close();压缩多个文件让我们修改一下代码,以便我们能够一次压缩多个文件 。
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);我们不使用addFile方法 , 而是使用addFiles()并传入一个List的文件 。
压缩一个目录我们可以简单地用addFolder代替addFile方法来压缩一个文件夹 。
ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray());zipFile.addFolder(new File("/users/folder_to_add"), zipParameters);创建一个分割的压缩文件我们可以通过使用createSplitZipFile和createSplitZipFileFromFolder方法,“将压缩文件分割成几个文件 。
ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray());int splitLength = 1024 * 1024 * 10; //10MBzipFile.createSplitZipFile(Arrays.asList(new File("aFile.txt")), zipParameters, true, splitLength);zipFile.createSplitZipFileFromFolder(new File("/users/folder_to_add"), zipParameters, true, splitLength);splitLength的单位是字节 。
提取所有文件提取文件也同样简单 。我们可以用extractAll()方法从我们的compressed.zip中提取所有文件 。
ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray());zipFile.extractAll("/destination_directory");提取单个文件如果我们只想从compressed.zip中提取一个文件,我们可以使用extractFile()方法 。
ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray());zipFile.extractFile("aFile.txt", "/destination_directory");总结【java生成压缩包并加密的设置 java压缩文件为zip并加密】综上所述,我们已经学会了如何用Zip4j库在Java中创建受密码保护的压缩文件并将其解压 。


    以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

    「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: