此文进阶请见:https://www.cnblogs.com/xiandedanteng/p/12155957.html

方法:

package zip;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; // Used to zip a file
public class FileZipper {
private static final int BUFFER = 512; public boolean compressFilesToZip(String[] files,String zipfile) {
return rugularZip(files,zipfile);
} private boolean rugularZip(String[] fromFiles,String toFile) {
File zipFile=new File(toFile);
byte[] buffer=new byte[BUFFER];
int readLen=0; try {
ZipOutputStream zipOut=new ZipOutputStream(new FileOutputStream(zipFile)) ; int index=0;
for(String file:fromFiles) {
File fileWillZip=new File(file); if(fileWillZip.exists()) {
InputStream inputStream=new BufferedInputStream(new FileInputStream(fileWillZip));
String entryName="#"+index+"_"+fileWillZip.getName();// entryName should be a valid filename,no path seperater allowed
zipOut.putNextEntry(new ZipEntry(entryName)); while((readLen=inputStream.read(buffer,0,BUFFER))!=-1) {
zipOut.write(buffer,0,readLen);
}
inputStream.close(); index++;
}
} zipOut.close();
}catch(Exception e) {
e.printStackTrace();
return false;
} return true;
} public static void main(String[] args) {
String[] files= {"D:\\wallpaper\\5760666873360998521.jpg",
"D:\\wallpaper\\luda1.jpg",
"D:\\wallpaper\\luda2.jpg",
"D:\\wallpaper\\luda3.jpg",
"D:\\wallpaper\\luda4.jpg",
"D:\\wallpaper\\sheeps.jpg"};
String zipfile="D:\\wallpaper\\result.zip"; FileZipper fz=new FileZipper();
fz.compressFilesToZip(files, zipfile);
}
}

效果:

--END-- 2020-01-06

最新文章

  1. PHP错误处理函数set_error_handler()的用法
  2. 【BZOJ1012】 【JSOI2008】最大数maxnumber
  3. Web标准和搜索引擎优化技术
  4. 【Jenkins】jenkins简单搭建并执行任务
  5. [Effective JavaScript 笔记]第50条:迭代方法优于循环
  6. parent,parents和closest
  7. C#利用SharpZipLib解压或压缩文件夹实例操作
  8. Algorithms Part 1-Question 6- 2SUM Median-数和以及中位数问题
  9. 不规则三角网(TIN)(转)
  10. 配置mybatis错误总结
  11. python学习(四)五数连珠
  12. mysql DBI 事务控制
  13. JAVA之Exchanger
  14. Bubbles Shader in Houdini泡泡泡泡泡泡泡泡泡泡
  15. MySQL 笔记整理(17) --如何正确地显示随机消息?
  16. 记一次查询超时的解决方案The timeout period elapsed......
  17. gjt常用命令---chalee
  18. springMVC控制器,处理器,映射器,适配器
  19. springcloud开篇
  20. openFileDialog的使用

热门文章

  1. 网易云音乐ncm格式分析以及ncm与mp3格式转换
  2. Linux文本处理详细教程
  3. Java进阶知识
  4. 创建shell脚本文件
  5. Linux学习日志——基本指令②
  6. Kinect+unity 实现体感格斗闯关小游戏
  7. python设计模式之外观模式
  8. 【算法•日更•第五十期】二分图(km算法)
  9. importTSV工具导入数据到hbase
  10. MIT 6.828 Lab04 : Preemptive Multitasking