日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java多个文件加密压缩_java中文件如何加密压缩?

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java多个文件加密压缩_java中文件如何加密压缩? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件加密壓縮

在現如今已經可以實現大部分功能的互聯網需求中,安全成為了需要的非必需品,工作需求中會遇到對導出的 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();

}

}

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 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 getFiles(String srcFileName){

ArrayList filesToAdd = new ArrayList();

File file=new File(srcFileName);

File[] files = new File[0];

if(file.isDirectory()){

files = file.listFiles();

for(int i=0;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;

}

具體代碼請關注個人公眾號【charmsongo】留言「zip」獲取

說在最后,如果有什么問題,請留言,我會盡量在第一時間給您答復

總結

以上是生活随笔為你收集整理的java多个文件加密压缩_java中文件如何加密压缩?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。