首页 > 编程语言 > 详细

java代码解压zip文件

时间:2016-09-25 14:38:56      阅读:193      评论:0      收藏:0      [点我收藏+]

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.Enumeration;

import org.apache.tools.zip.ZipEntry;

import org.apache.tools.zip.ZipFile;

import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;

/**
* @date 创建时间:2016年9月25日 上午11:06:46
* @version 1.0
* @parameter
* @since 2016年9月25日 上午11:06:46
* @return
*/
public class unZipFiles {

  //zip文件路径
  String fileAddress = "D:\\test.zip";
  //zip文件解压地址
  String unZipAddress = "F:\\unZipFiles\\";

  //去目录下寻找文件
  File file = new File(fileAddress);
  ZipFile zipFile = null;
  try {
    zipFile = new ZipFile(file,"GBK");//设置编码格式
  } catch (IOException exception) {
    exception.printStackTrace();
    System.out.println("解压文件不存在!");
  }

  Enumeration e = zipFile.getEntries();
  while(e.hasMoreElements()) {
    ZipEntry zipEntry = (ZipEntry)e.nextElement();
    if(zipEntry.isDirectory()) {
    String name = zipEntry.getName();
    name = name.substring(0,name.length()-1);
    File f = new File(unZipAddress + name);
    f.mkdirs();
  } else {
    File f = new File(unZipAddress + zipEntry.getName());
    f.getParentFile().mkdirs();
    f.createNewFile();
    InputStream is = zipFile.getInputStream(zipEntry);
    FileOutputStream fos = new FileOutputStream(f);
    int length = 0;
    byte[] b = new byte[1024];
    while((length=is.read(b, 0, 1024))!=-1) {
      fos.write(b, 0, length);
    }
    is.close();
    fos.close();
    }
  }
  if (zipFile != null) {
  zipFile.close();
  }
  file.deleteOnExit();//解压完以后将压缩包删除    
}

java代码解压zip文件

原文:http://www.cnblogs.com/lhy2016/p/5905883.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!