首页 > 开发 > Java > 正文

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

2024-07-13 10:08:26
字体:
来源:转载
供稿:网友

本文实例讲述了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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表