【Java】指定多目录多文件压缩(多线程 + 去除多余目录)

这是一个使用Java实现的工具,能够将不同目录下的多个文件压缩到指定路径的单一压缩文件中。它支持去除不必要的目录层级,并具备多线程多任务并行压缩功能。通过命令行指定输入文件目录、压缩文件名、输出路径和可选的目录移除参数,即可进行压缩操作。项目代码已上传至GitHub,供学习交流使用。
摘要由CSDN通过智能技术生成

1. 概况

最近因为公司小伙伴的要求,写了一个可以压缩不同目录下的多个文件到指定路径下的小项目,现在分享出来,希望可以帮到更多的人。

※ 项目中有几个方法的代码参考了《使用java.util.zip包实现根据文件目录控制文件的压缩与解压》1;其余的部分都是自己码哒;
※ 此项目仅用于学习交流,请不要用于任何形式的商用用途,谢谢呢;

2. 支持功能

  1. 压缩不同位置的文件和目录到同一个压缩文件中;
  2. 去除多余目录;
  3. 支持多线程多任务并行压缩(实现了功能模块);

3. 使用说明

3.1 命令行格式

java ZipFile -inputFileName inputFileName -zipFileName zipFileName -srcPath srcPath [-removedPath removedPath]

java ZipFile.java -inputFileName inputFileName -zipFileName zipFileName -srcPath srcPath [-removedPath removedPath]

标记说明示例
-inputFileNameinputFileName需压缩的文件目录集合input_file_1.txt
-zipFileNamezipFileName压缩包名himea_2.zip
-srcPathsrcPath输出路径(建议绝对路径)D:\ZipFile\src
-removedPathremovedPath最后一个移除目录名(可选)ZipFile

如果有如下路径:C:\disk d\softwares\AppStore\Default
假设:removedPath = softwares
结果:程序会移除softerwares(含)之前的所有路径名,即这些目录不会出现在压缩文件包里面;

3.2 实例展示

1)压缩文件目录

C:\Disk_d\ZipFile\src\test_folder_3\ROAME_327334_22069229.jpg
C:\Disk_d\ZipFile\src\test_folder_3\test_folder_4

2)命令行

java ZipFile.java -inputFileName input_file_1.txt -zipFileName himea_2.zip -srcPath C:\Disk_d\ZipFile\src [-removedPath test_folder_3]

3)视频教程

视频地址:【教程】指定多目录多文件压缩(Java)

4. 代码

代码请见:Github - ZipFile Version 1.0


在这里插入图片描述


  1. 使用java.util.zip包实现根据文件目录控制文件的压缩与解压 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值