成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Java中加密和解密zip文件?

開發(fā) 前端
如果文件 "aFile.txt "在磁盤上不存在,該方法將拋出一個異常。net.lingala.zip4j.exception.ZipException File does not exist: …為了解決這個問題,我們必須確保該文件是手動創(chuàng)建并放置在項目文件夾中,或者我們必須從Java中創(chuàng)建它。

大家好,我是指北君。

在本文中,我們來學(xué)習(xí)如何用Zip4j庫創(chuàng)建受密碼保護(hù)的壓縮文件并將其解壓。

依賴

讓我們先把 zip4j? 依賴關(guān)系添加到我們的 pom.xml 文件中。

<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>2.9.0</version>
</dependency>

壓縮一個文件

首先,我們將使用ZipFile addFile()?方法將一個名為aFile.txt?的文件壓縮到一個名為compressed.zip的有密碼保護(hù)的 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?級別中選擇(默認(rèn)是NORMAL)。

在這個例子中,我們使用了AES加密。如果我們想使用Zip標(biāo)準(zhǔn)加密,我們只需用ZIP_STANDARD?替換AES。

注意,如果文件 "aFile.txt "在磁盤上不存在,該方法將拋出一個異常。net.lingala.zip4j.exception.ZipException File does not exist: …

為了解決這個問題,我們必須確保該文件是手動創(chuàng)建并放置在項目文件夾中,或者我們必須從Java中創(chuàng)建它。

File fileToAdd = new File("aFile.txt");
if (!fileToAdd.exists()) {
fileToAdd.createNewFile();
}

另外,在我們完成了新的ZipFile之后,需要及時關(guān)閉資源:

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);

創(chuàng)建一個分割的壓縮文件

我們可以通過使用createSplitZipFile和createSplitZipFileFromFolder方法,``將壓縮文件分割成幾個文件。

ZipFile zipFile = new ZipFile("compressed.zip", "password".toCharArray());
int splitLength = 1024 * 1024 * 10;
zipFile.createSplitZipFile(Arrays.asList(new File("aFile.txt")), zipParameters, true, splitLength);
zipFile.createSplitZipFileFromFolder(new File("/users/folder_to_add"), zipParameters, true, splitLength);

splitLength的單位是字節(jié)。

提取所有文件

提取文件也同樣簡單。我們可以用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");

總結(jié)

綜上所述,我們已經(jīng)學(xué)會了如何用Zip4j庫在Java中創(chuàng)建受密碼保護(hù)的壓縮文件并將其解壓。

責(zé)任編輯:武曉燕 來源: Java技術(shù)指北
相關(guān)推薦

2021-02-01 08:00:00

vimLinux加密

2021-05-08 05:56:15

加密OpenSSL密鑰

2017-02-08 21:20:24

LinuxUbuntu加密硬盤

2013-11-13 09:22:16

2015-03-26 14:19:53

GPG加密解密

2015-08-05 09:40:26

2021-07-18 11:43:58

Linux密碼加密

2015-05-19 08:58:08

加密解密GnuPG

2024-03-01 09:58:44

2023-09-01 09:31:48

2021-05-08 00:00:27

JavaScript ZIP文件

2020-12-13 17:57:16

加密密碼Python

2011-03-18 09:48:32

2011-03-02 17:41:28

2020-12-21 16:00:07

Pythonzip文件密碼

2023-12-13 12:27:46

2018-09-17 11:12:14

Linux文件管理器加密文件

2019-10-17 17:15:01

Linux解壓文件命令

2020-05-19 13:55:38

Python加密密碼

2024-04-29 07:50:52

C#AES加密
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩视频中文字幕 | 精品国产一区二区三区性色av | 亚洲一区二区不卡在线观看 | 羞羞视频网站免费观看 | 国产欧美一区二区精品忘忧草 | 亚洲啪啪 | h视频在线免费 | 欧美日韩成人影院 | 欧美一区二区小视频 | 国产一区二区 | 99精品欧美一区二区三区综合在线 | 亚州视频在线 | 久久精品aaa | 日本色婷婷 | 国产一区二区在线免费 | 亚洲视频一区二区三区四区 | 亚洲精品视频在线 | 中文字幕亚洲欧美日韩在线不卡 | 亚洲网站在线观看 | 九九免费视频 | 亚洲欧美日本国产 | 欧美一区二区 | 国内精品视频免费观看 | 久久综合久久综合久久综合 | 久久久久久中文字幕 | 久久久婷婷| 天天插天天操 | 最新中文字幕在线 | 天天精品在线 | 欧美日韩在线视频一区 | 99精品视频一区二区三区 | 亚洲一区二区三区观看 | 日韩久久中文字幕 | 三级高清 | 亚洲天堂色 | 亚洲一区成人 | 亚洲精品成人av久久 | 狠狠色狠狠色综合日日92 | 日韩视频在线观看一区二区 | www.黄色在线观看 | 午夜影视 |