java中檔案如何加密壓縮?
https://blog.csdn.net/qq_29175301/article/details/83444557
終於等到你檔案加密壓縮1.單個檔案加密壓縮2.多檔案加密壓縮
檔案加密壓縮
在現如今已經可以實現大部分功能的網際網路需求中,安全成為了需要的非必需品,工作需求中會遇到對匯出的 excel 報表 做加密壓縮的問題,今天有時間總結一下,我這裡簡單列舉功能程式碼,連帶其它程式碼文末會一併給出。
1.單個檔案加密壓縮
單個檔案加密方法,需傳輸 3 個引數:被壓縮原始檔,壓縮目標檔案和加密金鑰,如下
/**
* @Title: encrypt_zip
* @Description:將指定路徑下的檔案壓縮至指定zip檔案,並以指定密碼加密,若密碼為空,則不進行加密保護
* @param src_file 待壓縮檔案路徑
* @param dst_file zip路徑+檔名
* @param encode 加密密碼
* @return
*/
public static void encrypt_zip(String src_file, String dst_file, String encode) {
File file = new File(src_file);
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);//壓縮方式
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); // 壓縮級別
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);//加密方式
parameters.setPassword(encode.toCharArray());//設定密碼
try {
ZipFile zipFile = new ZipFile(dst_file);
zipFile.setFileNameCharset("gbk");
zipFile.addFile(file, parameters);
} catch (ZipException e) {
e.printStackTrace();
}
}
1234567891011121314151617181920212223242526272829
2.多檔案加密壓縮
多檔案加密壓縮和單檔案類似,但是,這個方法包含上面的方法,甚至功能上可以替換上面方法,具體看下 code
/**
* @Title: zipFilesAndEncrypt
* @Description: 將指定路徑下的檔案壓縮至指定zip檔案,並以指定密碼加密,若密碼為空,則不進行加密保護
* @param srcFileName 待壓縮檔案路徑 或 資料夾路徑
* @param zipFileName zip路徑+檔名
* @param password 加密密碼
* @return
*/
public static void zipFilesAndEncrypt(String srcFileName,String zipFileName,String password){
if(StrTool.is_empty(srcFileName) || StrTool.is_empty(zipFileName)){
System.out.println("請求的壓縮路徑或者檔名有誤");
return;
}
try {
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);//壓縮方式
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);//壓縮級別
if(!StrTool.is_empty(password)){
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);//加密方式
parameters.setPassword(password);
}
ArrayList<File> filesToAdd=getFiles(srcFileName);
ZipFile zipFile = new ZipFile(zipFileName);
zipFile.setFileNameCharset("gbk");
zipFile.addFiles(filesToAdd, parameters);
} catch (ZipException e) {
System.out.println("檔案壓縮出錯");
e.printStackTrace();
}
}
//通過路徑獲取壓縮檔案集合
private static ArrayList<File> getFiles(String srcFileName){
ArrayList<File> filesToAdd = new ArrayList<File>();
File file=new File(srcFileName);
File[] files = new File[0];
if(file.isDirectory()){
files = file.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].getName().endsWith(".xls")){//xls結尾的excel新增壓縮集合
filesToAdd.add(new File(files[i].getPath()));
System.out.println("檔案:"+files[i].getPath());
}
}
} else {
filesToAdd.add(new File(file.getPath()));
}
return filesToAdd;
}
相關文章
- Mac壓縮檔案怎麼加密?BetterZip加密Word壓縮檔案教程Mac加密
- node ~ zip壓縮 && 檔案加密加密
- java中 檔案壓縮處理Java
- Java檔案壓縮Java
- java 檔案壓縮Java
- 教你如何用Mac終端給檔案加密壓縮Mac加密
- Linux中檔案的壓縮和解壓縮Linux
- 檔案壓縮和解壓縮
- Linux加密壓縮檔案/資料夾Linux加密
- java 把檔案壓縮成 zipJava
- java 生成 zip格式 壓縮檔案Java
- Java壓縮檔案生成工具類Java
- Linux中檔案的壓縮與解壓縮(轉貼)Linux
- betterzip怎麼解壓檔案?如何使用BetterZip批次解壓壓縮檔案
- Java學習筆記之I/O流(讀取壓縮檔案以及壓縮檔案)Java筆記
- .NET 壓縮/解壓檔案
- pdf壓縮教程:如何把pdf檔案壓縮得小一點
- gulp壓縮檔案
- aix 檔案的壓縮與解壓縮AI
- 電腦怎麼壓縮檔案 檔案壓縮方法詳解
- java 壓縮(解壓)檔案或者資料夾工具類Java
- 如何給壓縮包檔案新增註釋
- Linux中Bin檔案壓縮包解壓執行Linux
- Ubuntu 壓縮檔案命令Ubuntu
- c#壓縮檔案C#
- Linux 檔案壓縮Linux
- HTTP 之 檔案壓縮HTTP
- WindowsApi 解壓縮檔案WindowsAPI
- 使用gzip壓縮檔案
- cpio檔案解壓縮
- Java實現檔案壓縮與解壓[zip格式,gzip格式]Java
- java實現zip壓縮檔案/資料夾Java
- 怎麼把pdf檔案縮小?如何使用PDF Expert壓縮pdf檔案大小?
- linux下的檔案的壓縮和解壓縮Linux
- linux檔案壓縮和解壓命令Linux
- 常見檔案解壓和壓縮
- C# 檔案流壓縮解壓C#
- JAVA壓縮和解壓縮Java