当前位置: 移动技术网 > IT编程>开发语言>Java > Java实现多文件压缩打包的方法

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

2019年07月22日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网