Java创建ZIP压缩文件的方法

作者:华宰 时间:2022-10-05 05:05:23 

本文实例讲述了Java创建ZIP压缩文件的方法。分享给大家供大家参考。具体如下:

这里注意:建议使用org.apache.tools.zip.*包下相关类,否则可能会出现中文乱码问题。


/**
* 压缩文件夹
* @param sourceDIR 文件夹名称(包含路径)
* @param targetZipFile 生成zip文件名
* @author liuxiangwei
*/
public static void zipDIR(String sourceDIR, String targetZipFile) {
 try {
   FileOutputStream target = new FileOutputStream(targetZipFile);
   ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(target));
   int BUFFER_SIZE = 1024;
   byte buff[] = new byte[BUFFER_SIZE];
   File dir = new File(sourceDIR);
   if (!dir.isDirectory()) {
     throw new IllegalArgumentException(sourceDIR+" is not a directory!");
   }
   File files[] = dir.listFiles();
   for (int i = 0; i < files.length; i++) {
     FileInputStream fi = new FileInputStream(files[i]);
     BufferedInputStream origin = new BufferedInputStream(fi);
     ZipEntry entry = new ZipEntry(files[i].getName());
     out.putNextEntry(entry);
     int count;
     while ((count = origin.read(buff)) != -1) {
       out.write(buff, 0, count);
     }
     origin.close();
   }
   out.close();
 } catch (IOException e) {
   throw new MsgException("");
 }
}

希望本文所述对大家的java程序设计有所帮助。

标签:Java,ZIP
0
投稿

猜你喜欢

  • 使用SpringCloudApiGateway之支持Cors跨域请求

    2022-10-15 18:28:08
  • C#中的尾递归与Continuation详解

    2021-12-05 16:35:15
  • Java ArrayList深入源码层分析

    2021-10-18 04:12:31
  • Java实现为Word每一页设置不同图片水印的效果

    2023-01-30 07:10:04
  • C#处理Access中事务的方法

    2021-07-01 13:43:39
  • Android图像处理之霓虹滤镜效果

    2023-08-11 14:37:41
  • Android实现仿通讯录侧边栏滑动SiderBar效果代码

    2021-08-03 21:07:45
  • SpringBoot 实现动态添加定时任务功能

    2022-07-12 05:07:40
  • 使用RecyclerView实现点赞头像叠加效果

    2022-12-24 12:10:37
  • Android调用google地图生成路线图实现代码

    2023-06-04 09:37:25
  • .net 随机生成汉字

    2022-01-22 08:33:33
  • Ubuntu16.04下配置VScode的C/C++开发环境

    2023-10-22 19:21:17
  • 深入了解java.util.Arrays的使用技巧

    2023-01-10 18:01:32
  • 利用Android实现光影流动特效的方法详解

    2023-09-03 01:22:31
  • Java String源码分析并介绍Sting 为什么不可变

    2021-09-23 06:10:42
  • 一篇文章告诉你JAVA Mybatis框架的核心原理到底有多重要

    2023-11-13 06:20:10
  • Android下拉列表选项框及指示箭头动画

    2022-09-28 04:08:15
  • Java调用第三方接口示范的实现

    2023-06-27 20:32:10
  • 详解C#读取Appconfig中自定义的节点

    2022-07-16 08:30:38
  • java统计字符串中指定元素出现次数方法

    2022-11-02 16:05:40
  • asp之家 软件编程 m.aspxhome.com