pom.xml net.lingala.zip4jzip4j1.3.2 java代码: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.zip.ZipEntry; import net.lingala.zip4j.io.ZipOutputStream; import net.lingala.zip4j.model.ZipParameters; import net.lingala.zip4j.util.Zip4jConstants; /** * 文件压缩 * @author */ public class ZipUtil { public static void main(String[] args) throws Exception { //传递文件 OutputStream out = new FileOutputStream(new File("E:/logs/file"+".zip")); out = zipByFilePath(out, "123456", new String[][]{ {"info/demo1.txt","E:/info/info1.txt"}, {"info2/demo2.txt","E:/info/info2.txt"}}); out.flush(); out.close(); //传递字符流 out = new FileOutputStream(new File("E:/logs/streamt"+".zip")); out = zipByFileInput(out, "123456", new Object[][]{{"info/demo1.txt", new FileInputStream("E:/info/info1.txt")}, {"info2/demo2.txt",new FileInputStream("E:/info/info2.txt")}, {"total.txt",new FileInputStream("E:/info/info2.txt")}}); out.flush(); out.close(); out = new FileOutputStream(new File("E:/logs/fileNoPwd"+".zip")); out = zipByFilePath(out,new String[][]{ {"info/demo1.txt","E:/info/info1.txt"}, {"info2/demo2.txt","E:/info/info2.txt"}}); out.flush(); out.close(); out = new FileOutputStream(new File("E:/logs/streamtNoPwd"+".zip")); out = zipByFileInput(out,new Object[][]{{"info/demo1.txt", new FileInputStream("E:/info/info1.txt")}, {"info2/demo2.txt",new FileInputStream("E:/info/info2.txt")}, {"total.txt",new FileInputStream("E:/info/info2.txt")}}); out.flush(); out.close(); } /** * 压缩文件流-加密 * @param out * @param password * @param fileAry * @return * @throws Exception */ public static OutputStream zipByFilePath(OutputStream out,String password,String[][] fileAry) throws Exception { Object[][] info = new Object[2][fileAry.length]; for(int index=0,size=fileAry.length;index-1) { zipOut.write(btAry,0,byteReadSize); byteReadSize = fileInput.read(btAry); } } return zipOut; } /** * 压缩文件流 * @param out * @param password * @param fileAry {{fileName,InputStream}} * @return * @throws Exception */ public static OutputStream zipByFileInput(OutputStream out,String password,Object[][] fileAry) throws Exception { //压缩的规则设置 ZipParameters parameters = new ZipParameters(); parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); parameters.setSourceExternalStream(true); parameters.setEncryptFiles(true); parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES); parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256); parameters.setPassword(password); ZipOutputStream zipOut = new ZipOutputStream(out); for(int index=0,fileSize=fileAry.length;index-1) { zipOut.write(btAry,0,byteReadSize); byteReadSize = fileInput.read(btAry); } zipOut.closeEntry(); fileInput.close(); } /** * 压缩流中放入文件 * @param zipOut * @param parameters * @param fileInput * @throws Exception */ public static void addToZipOut(ZipOutputStream zipOut,ZipParameters parameters,byte[] btAry) throws Exception { zipOut.write(btAry); zipOut.closeEntry(); } }

转载于:https://www.cnblogs.com/freeLess/p/5458148.html

Java加密压缩文件相关推荐

  1. zipentry压缩乱码linux,java生成压缩文件 ZipEntry出现乱码的有关问题

    java生成压缩文件 ZipEntry出现乱码的问题 在项目中,一次导出的文件有好几个,而且文件内容比较大,最后考虑到把文件进行压缩在下载,开始试用JDK自带的ZIP压缩包时,ZipEntry ze ...

  2. Python 创建加密压缩文件

    Python 创建加密压缩文件 1. 配置ZLib http://www.winimage.com/zLibDll/minizip.html 下载之后将 zlibwapi.dll 放在 demo/目录 ...

  3. python 批量加密压缩文件

    python 批量加密压缩文件 0x01 解决的问题 0x02 遇到的问题 0x03 代码 0x01 解决的问题 当有大批的文件,并且存放在不同的文件夹中,需要你进行加密压缩时,可参照此代码: 在代码 ...

  4. java gz压缩文件解压

    java gz压缩文件解压 gzFileName压缩文件全路径 targetFileName解压后的文件全路径 public boolean unGzFile(String gzFileName,St ...

  5. java实现压缩文件预览

    java实现压缩文件预览 可能感觉会比较low,没有使用插件,只是简单的显示压缩文件的目录结构,其实前台可以使用树形进行层级展示,有需要的兄台可以在这个基础上加上,基础代码如下: /*文件预览 */ ...

  6. Java实现压缩文件与解压缩zip文件

    在日常的使用中经常会使用到像WinRAR或WinZIP这样的压缩文件,通过这些软件可以把一个很大的文件进行压缩以方便传输. 在JAVA中 为了减少传输时的数据量也提供了专门的压缩流,可以将文件或文件夹 ...

  7. java zip压缩文件

    java 生成zip压缩文件 1.zip压缩文件 文章目录 java 生成zip压缩文件 一.引入jar包 二.工具类 1.有密码压缩 2.无密码压缩 3. 解压方法 三.示例 3.1.压缩前 3.2 ...

  8. Java springboot压缩文件上传,解压,删除压缩包

    1. 配置文件 在application.yml里 file-server:path: \material-main\# 自己随便命名.注意,不管windows还是linux,路径不需要带盘符,用代码 ...

  9. 安卓加密软件_软件 | 加密压缩文件暴力快速查看,安卓手机适用

    朋友们常常下载文件后需要解压缩,然而解压缩通常要密码,运气好密码就是压缩文件的名字,或者都能在下载的时候能在下载网址中找到,运气不好,就麻烦了,很想要的资源文件就因为没有密码就那么无法查看了. 当然一 ...

  10. linux加密压缩文件命令,linux 系统下 zip 的加密压缩与解压缩命令

    1.加密压缩 [[email protected] shine]# zip -rP king java.zip java adding: java/ (stored 0%) adding: java/ ...

最新文章

  1. GridView的编辑,更新,取消,删除等功能演示
  2. java string与integer_Java中Integer和String浅谈
  3. 纳米孔(Oxford Nanopore)测序仪的学习笔记
  4. Java Web(11) Spring MVC 返回Json
  5. js如何通过变量调用函数,函数名在变量里面
  6. 上海计算机和金融专业,姚明:我将去上海交大读书 选择计算机金融专业
  7. ssms 连接 ssis_在SSMS中手动设置SSIS包加密
  8. UE4之SetRelativeLocation 和SetRelativeRotation
  9. struts2学习 - action - 1
  10. Python+数据库+前端+Django
  11. matlab对矩阵谱分解
  12. C++网站如何实现短信验证码功能?
  13. python图片识别文字开源库Easyocr使用
  14. 浅析网站被挂马的代码
  15. AAE结合resnet的生成器搭建(失败)
  16. Arduino - Debugging on the Arduino IDE 2.0
  17. 微博爬虫及简单数据分析
  18. 如何整理个人电脑的文件及目录?(第1期)
  19. 【每日早报】2019/10/21
  20. 植物大战僵尸阳光值修改以及阳光基地址寻找详细步骤~包含排除不符合条件的地址的讲解,以及如何观察地址情况等

热门文章

  1. 学习下新塘M0芯片的下载方法
  2. Django - 请求与响应、表单、中间件、上下文处理器
  3. LongAdder类学习笔记
  4. [读书笔记]Linux命令行与shell编程读书笔记01
  5. winform 属性
  6. 线性表的总结:顺序存储线性表的初始化,创建,插入,删除,清空,销毁等操作...
  7. 算法系列:量子计算与量子通信
  8. SimpleXML php 解析xml 的方法
  9. ceph12.0.1的源码编译安装
  10. 简单的爬虫爬取教务网获取成绩