javascript和JQuery焦点图和代码特效大全
当前最流行的开源CMS网站系统大全
当前位置:主页 > 编程开发 > JAVA技术 >

java实现解压zip文件功能

来源:IT技术网编辑:素还真发布于:2013-08-31人围观Java实现文件功能解压zip

java实现解压zip文件功能,具体代码如下:

package com.File;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

/**
 * 解压zip压缩文件
 * @author lqxion
 *
 */
public class Ziptest02 {
	public static void main(String[] args) {
		/**
		 * 声明要解压的zip文件 存放解压文件的目标文件
		 */
		String srcZip="c:\\Users\\lqxion\\desktop\\tempzip.zip";
		String targetPath="c:\\Users\\lqxion\\desktop\\zipToFile";
		upZipToFile(srcZip,targetPath);
	}
	/**
	 * 1判断输入zip文件和目标文件是否存在
	 * 2判断目标文件是否为目录 若为否退出
	 * 3.判断目标文件是否已文件分隔符结尾 若为否添加上
	 * 4.声明ZipFile ZipEntry targetFilename 缓冲区 字节数组 bytes_read	每个条目的文件名entryName
	 * 5.遍历ZipFile 
	 * @param srcZip
	 * @param targetPath
	 */
	private static void upZipToFile(String srcZip, String targetPath) {
		// TODO Auto-generated method stub
		if(srcZip.length()==0||targetPath.length()==0){
			System.out.println("文件不存在");
			return;
		}
		try{
			ZipFile zipFile=new ZipFile(srcZip);
			ZipEntry entry=null;
			String entryName=null;
			String targetFilename=null;
			byte[] buffer=new byte[1024*10];
			int bytes_read=-1;
			//获取zip文件里所有的文件条目的名字
			Enumeration entrys=zipFile.entries();
			while(entrys.hasMoreElements()){
				entry=(ZipEntry)entrys.nextElement();//获取entrys中的每一个文件元素
				entryName=entry.getName();
				targetFilename=targetPath+entryName;
				if(entry.isDirectory()){
					//如果entry是一个目录则创建目录
					new File(targetFilename).mkdirs();
					continue;
				}else{
					//如果entry是一个文件·则创建文件
					new File(targetFilename).getParentFile().mkdirs();
				}
				//否则创建文件
				File targetFile=new File(targetFilename);
				System.out.println("正在创建文件"+targetFile.getAbsolutePath());
				//打开文件输出流
				FileOutputStream Fos=new FileOutputStream(targetFile);
				//从ZipFile对象中打开entry的输入流
				InputStream is=zipFile.getInputStream(entry);
				while((bytes_read=is.read(buffer))!=-1){
					Fos.write(buffer, 0, bytes_read);
				}
				//关闭流
				is.close();
				Fos.close();
			}
			
		}catch(IOException e){
			e.printStackTrace();
		}
	}
}


Java,实现,文件,相关的文章
有时间的话来看看IT界的突发事件