使用JAVA解压zip压缩包实例源码说明

使用JAVA解压zip压缩包实例源码说明,java解压ZIP文件的方法是什么,麻不麻烦,以下是java源码实例:

import java.io.BufferedOutputStream;
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;

/**
* java解压zip压缩包
* David  2012-10-12
*/

public class UnZipFile
{
private static final int buffer = 2048;

public static void main(String[] args)
{
unZip(“D:\\TEST\\TEST.zip”);
}

public static void unZip(String path)
{
int count = -1;
int index = -1;
boolean flag = false;

File file = null;
InputStream is = null;
FileOutputStream fos = null;
BufferedOutputStream bos = null;
String dirName = “”;

//String savepath = path.substring(0, path.lastIndexOf(“\\”)) + “\\”;

        try
{
ZipFile zipFile = new ZipFile(path);

Enumeration<?> entries = zipFile.getEntries();

while(entries.hasMoreElements())
{
byte buf[] = new byte[buffer];

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

String filename = entry.getName();
index = filename.indexOf(“/”);
if(index > -1)
dirName = filename.substring(0, index);

File dirFile = new File(filename);
if(!(dirFile.exists())){
dirFile.mkdir();
}

//  filename = savepath + filename;

file = new File(filename);
file.createNewFile();

is = zipFile.getInputStream(entry);

fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos, buffer);

while((count = is.read(buf)) > -1)
{
bos.write(buf, 0, count );
}

fos.close();

is.close();
}

zipFile.close();

}catch(IOException ioe){
ioe.printStackTrace();
}
}

} 本文链接地址: 使用JAVA解压zip压缩包实例源码说明