Java自动解压文件实例代码_Java教程-查字典教程网
Java自动解压文件实例代码
Java自动解压文件实例代码
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:importjava.io.File;importjava.io.FileOutputStream;importjava....

复制代码 代码如下:

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Enumeration;

import java.util.zip.ZipEntry;

import java.util.zip.ZipFile;

public class UnZipper {

/**

* 解压文件到当前目录 功能相当于右键 选择解压

* @param zipFile

* @param

* @author gabriel

*/

@SuppressWarnings("rawtypes")

public static void unZipFiles(File zipFile)throws IOException{

//得到压缩文件所在目录

String path=zipFile.getAbsolutePath();

path=path.substring(0,path.lastIndexOf(""));

// System.out.println("path "+path);

ZipFile zip = new ZipFile(zipFile);

for(Enumeration entries =zip.entries();

entries.hasMoreElements();){

ZipEntry entry = (ZipEntry)entries.nextElement();

String zipEntryName = entry.getName();

InputStream in = zip.getInputStream(entry);

//outPath输出目录

String outPath = (path+""+zipEntryName).replaceAll("*", "/");;

//System.out.println("outPath "+outPath);

//判断路径是否存在,不存在则创建文件路径

File file = new File(outPath.substring(0, outPath.lastIndexOf('/')));

if(!file.exists()){

file.mkdirs();

}

//判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压

if(new File(outPath).isDirectory()){

continue;

}

//输出文件路径信息

System.out.println(outPath);

OutputStream out = new FileOutputStream(outPath);

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("******************解压完毕********************");

}

public static void main(String[] args) {

try {

unZipFiles(new File("D:allzipDefault.adiumemoticonset.zip"));

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类