欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現(xiàn)自動壓縮文件并加密的方法示例

 更新時間:2018年01月12日 09:03:35   作者:東天里的冬天  
這篇文章主要介紹了Java實現(xiàn)自動壓縮文件并加密的方法,涉及java針對文件進(jìn)行zip壓縮并加密的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Java實現(xiàn)自動壓縮文件并加密的方法。分享給大家供大家參考,具體如下:

實現(xiàn)功能:自動壓縮并加密

/**
*
* @Title: zipFilesAndEncrypt
* @Description: 將指定路徑下的文件壓縮至指定zip文件,并以指定密碼加密,若密碼為空,則不進(jìn)行加密保護(hù)
* @param srcFileName 待壓縮文件路徑
* @param zipFileName zip文件名
* @param password 加密密碼
* @return
* @throws Exception
*/
public void zipFilesAndEncrypt(String srcFileName,String zipFileName,String password) throws Exception{
 ZipOutputStream outputStream=null;
 System.out.println("進(jìn)入測試類");
 if(StringUtils.isEmpty(srcFileName) || StringUtils.isEmpty(zipFileName)){
  log.error("請求的壓縮路徑或者文件名有誤");
  return;
 }
 try {
  ZipParameters parameters = new ZipParameters();
  parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
  parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
  if(!StringUtils.isEmpty(password)){
   parameters.setEncryptFiles(true);
   parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
   parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
   parameters.setPassword(password);
  }
  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++){
   filesToAdd.add(new File(srcFileName+files[i].getName()));
   System.out.println("文件名稱:"+files[i].getName());
   }
  }
  else {
   filesToAdd.add(new File(srcFileName+file.getName()));
  }
  ZipFile zipFile = new ZipFile(srcFileName+zipFileName+".zip");
  zipFile.addFiles(filesToAdd, parameters);
 }
 catch (Exception e) {
  System.out.println("文件壓縮出錯");
  log.error("文件壓縮出錯", e);
 throw e;
 }
}

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java文件與目錄操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • Spring中的動態(tài)數(shù)據(jù)源解讀

    Spring中的動態(tài)數(shù)據(jù)源解讀

    這篇文章主要介紹了關(guān)于Spring中的動態(tài)數(shù)據(jù)源解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 詳解Java并發(fā)工具類之CountDownLatch和CyclicBarrier

    詳解Java并發(fā)工具類之CountDownLatch和CyclicBarrier

    在JDK的并發(fā)包中,有幾個非常有用的并發(fā)工具類,它們分別是:CountDownLatch、CyclicBarrier、Semaphore和Exchanger,本文主要來講講其中CountDownLatch和CyclicBarrier的使用,感興趣的可以了解一下
    2023-06-06
  • java實現(xiàn)合并圖片的方法示例

    java實現(xiàn)合并圖片的方法示例

    這篇文章主要介紹了java實現(xiàn)合并圖片的方法,結(jié)合具體實例形式分析了java基于圖片的讀取、設(shè)置、生成等操作實現(xiàn)圖片合并功能的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-02-02
  • Java整合Redis實現(xiàn)坐標(biāo)附近查詢功能

    Java整合Redis實現(xiàn)坐標(biāo)附近查詢功能

    這篇文章主要介紹了Java整合Redis實現(xiàn)坐標(biāo)附近查詢,我們可以在redis服務(wù)器使用命令 help xxx 查看指令的具體用法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2023-11-11
  • SpringBoot異步任務(wù)使用方法詳解

    SpringBoot異步任務(wù)使用方法詳解

    這篇文章主要介紹了SpringBoot異步任務(wù)使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Java 自定義Spring框架與核心功能詳解

    Java 自定義Spring框架與核心功能詳解

    Spring框架是由于軟件開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開發(fā)
    2021-10-10
  • SpringBoot線程池和Java線程池的使用和實現(xiàn)原理解析

    SpringBoot線程池和Java線程池的使用和實現(xiàn)原理解析

    這篇文章主要介紹了SpringBoot線程池和Java線程池的用法和實現(xiàn)原理,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • mybatis-plus多表查詢操作方法

    mybatis-plus多表查詢操作方法

    這篇文章主要介紹了mybatis-plus多表查詢操作方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • 使用@CacheEvict?多參數(shù)如何匹配刪除

    使用@CacheEvict?多參數(shù)如何匹配刪除

    這篇文章主要介紹了使用@CacheEvict?多參數(shù)如何匹配刪除,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 解決springboot啟動Logback報錯ERROR in ch.qos.logback.classic.joran.action.ContextNameAction - Failed to rena

    解決springboot啟動Logback報錯ERROR in ch.qos.logback.cla

    這篇文章主要介紹了解決springboot啟動Logback報錯ERROR in ch.qos.logback.classic.joran.action.ContextNameAction - Failed to rena問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評論