Java实现多文件压缩打包的方法

发布时间 - 2026-01-11 01:38:42    点击率:

本文实例讲述了Java实现多文件压缩打包的方法。分享给大家供大家参考,具体如下:

package com.biao.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
public class TestZIP {
  /**
   * 功能:压缩多个文件成一个zip文件
   * @param srcfile:源文件列表
   * @param zipfile:压缩后的文件
   */
  public static void zipFiles(File[] srcfile,File zipfile){
    byte[] buf=new byte[1024];
    try {
      //ZipOutputStream类:完成文件或文件夹的压缩
      ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipfile));
      for(int i=0;i<srcfile.length;i++){
        FileInputStream in=new FileInputStream(srcfile[i]);
        out.putNextEntry(new ZipEntry(srcfile[i].getName()));
        int len;
        while((len=in.read(buf))>0){
          out.write(buf,0,len);
        }
        out.closeEntry();
        in.close();
      }
      out.close();
      System.out.println("压缩完成.");
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
  /**
   * 功能:解压缩
   * @param zipfile:需要解压缩的文件
   * @param descDir:解压后的目标目录
   */
  public static void unZipFiles(File zipfile,String descDir){
    try {
      ZipFile zf=new ZipFile(zipfile);
      for(Enumeration entries=zf.entries();entries.hasMoreElements();){
        ZipEntry entry=(ZipEntry) entries.nextElement();
        String zipEntryName=entry.getName();
        InputStream in=zf.getInputStream(entry);
        OutputStream out=new FileOutputStream(descDir+zipEntryName);
        byte[] buf1=new byte[1024];
        int len;
        while((len=in.read(buf1))>0){
          out.write(buf1,0,len);
        }
        in.close();
        out.close();
        System.out.println("解压缩完成.");
      }
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
  /**功能:
   * @param args
   */
  public static void main(String[] args) {
    //2个源文件
    File f1=new File("D:\\workspace\\flexTest\\src\\com\\biao\\test\\abc.txt");
    File f2=new File("D:\\workspace\\flexTest\\src\\com\\biao\\test\\test.zip");
    File[] srcfile={f1,f2};
    //压缩后的文件
    File zipfile=new File("D:\\workspace\\flexTest\\src\\com\\biao\\test\\biao.zip");
    //TestZIP.zipFiles(srcfile, zipfile);
    //需要解压缩的文件
    File file=new File("D:\\workspace\\flexTest\\src\\com\\biao\\test\\biao.zip");
    //解压后的目标目录
    String dir="D:\\workspace\\flexTest\\src\\com\\biao\\test\\";
    TestZIP.unZipFiles(file, dir);
  }
}

更多关于java相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

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


# Java  # 多文件  # 压缩打包  # Java将文件夹保留目录打包为 ZIP 压缩包并下载的教程详解  # java实现zip  # gzip  # 7z  # zlib格式的压缩打包  # Java操作Ant压缩和解压文件及批量打包Anroid应用  # 使用Java 压缩文件打包tar.gz 包的详细教程  # 解压缩  # 操作技巧  # 相关内容  # 多个  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 程序设计  # 文件压缩  # 讲述了  # TestZIP  # public  # param  # file  # ZipOutputStream  # zip  # Enumeration  # ZipFile 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用PHP快速搭建CMS系统?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  网站页面设计需要考虑到这些问题  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  如何快速搭建二级域名独立网站?  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  如何快速生成可下载的建站源码工具?  如何在腾讯云服务器快速搭建个人网站?  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  如何用景安虚拟主机手机版绑定域名建站?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel如何处理表单验证?(Requests代码示例)  如何快速搭建高效简练网站?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Laravel如何实现事件和监听器?(Event & Listener实战)  如何在七牛云存储上搭建网站并设置自定义域名?  Laravel如何使用Telescope进行调试?(安装和使用教程)  如何在阿里云域名上完成建站全流程?  智能起名网站制作软件有哪些,制作logo的软件?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  C语言设计一个闪闪的圣诞树  googleplay官方入口在哪里_Google Play官方商店快速入口指南  js实现点击每个li节点,都弹出其文本值及修改  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  大学网站设计制作软件有哪些,如何将网站制作成自己app?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何在阿里云通过域名搭建网站?  无锡营销型网站制作公司,无锡网选车牌流程?  EditPlus中的正则表达式实战(6)  中山网站推广排名,中山信息港登录入口?  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  高性能网站服务器配置指南:安全稳定与高效建站核心方案  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何在阿里云完成域名注册与建站?  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel怎么实现模型属性的自动加密  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  再谈Python中的字符串与字符编码(推荐)  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口