博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java实现多文件压缩打包的方法
阅读量:6716 次
发布时间:2019-06-25

本文共 2461 字,大约阅读时间需要 8 分钟。

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);  }}

转载地址:http://phkmo.baihongyu.com/

你可能感兴趣的文章
[Leetcode] Add Binary 二进制相加
查看>>
CSS的隐藏方式
查看>>
让这世界再多一份 GNU m4 教程 (3)
查看>>
马云:未来,我坚信区块链,所有企业都是制造业 ...
查看>>
增加关系型数据库驱动配置同步任务
查看>>
Spotify敏捷模式详解三部曲第二篇:研发过程
查看>>
海康威视高级副总裁浦世亮:我们为什么要推出“AI开放平台”? ...
查看>>
kinmall分析区块链的发展前景和未来趋势
查看>>
企业级java springboot b2bc商城系统开源源码二次开发:服务消费(Ribbon) ...
查看>>
Linux基础命令---网卡操作
查看>>
Linux 磁盘管理基础知识全汇总
查看>>
搭建直播平台需要从CDN“内部”入手
查看>>
Ubuntu下“E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)” ...
查看>>
【南京站报名中!】微服务框架到生态,Apache Dubbo 开发者沙龙
查看>>
linux find xargs
查看>>
家纺行业运行大数据正式发布:告诉你家纺行业形势
查看>>
Android多线程源码详解一:handler、looper、message、messageQueue
查看>>
wordpress robot设置
查看>>
unity3d 中控制手机前后摄像头切换
查看>>
MyCAT核心配置详解
查看>>