package com.green.project.compress;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class Unzip {

/**
* @param args
*/
byte doc[]=null;
String Filename=null;
String unzipPath=null;

public Unzip(String filename,String unzippath)
{
Filename=filename;
unzipPath=unzippath;
SetUnZipPath(unzipPath);
}

public Unzip(String filename)
{
Filename=filename;
unzipPath=null;
SetUnZipPath(unzipPath);
}

private void SetUnZipPath(String unzippath)
{
if(unzippath.endsWith("//")) //String类的endsWith(char c)用与判断字符串最后一个字符是否与c相同
unzipPath=new String(unzippath);
else
unzipPath=new String(unzippath+"//");
}

public void doUnZip()
{
try {
ZipInputStream zin=new ZipInputStream(new FileInputStream(Filename));
ZipEntry fentry; //用于表示 ZIP 文件条目
while((fentry=zin.getNextEntry())!=null) //ZipInputStream类的geNextEntry()读取下一个 ZIP 文件条目并将流定位到该条目数据的开始处。
{
if(fentry.isDirectory()) //判断文件条目是否目录条目
checkFilePath(unzipPath+fentry.getName());
else
{
String fname=new String(unzipPath+fentry.getName());
FileOutputStream out=new FileOutputStream(fname);
doc=new byte[512];
int n;
while((n=zin.read(doc, 0, 512))!=-1)out.write(doc,0,n);
out.close();
out=null;
doc=null;
}
}//while
zin.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

private void checkFilePath(String dirName)throws IOException
{
File dir=new File(dirName);
if(!dir.exists())
dir.mkdirs();
}

public static void main(String[] args) {
Unzip myZip=new Unzip("d://phonemanage.zip","d://lib");
myZip.doUnZip();
System.out.println("压缩成功");
}

}

zip解压缩的更多相关文章

  1. android zip解压缩

    android  zip解压缩 public class ZipUtils { public ZipUtils() { } /* 以输入流的形式解压 */ public static void UnZ ...

  2. Mac 解压zip文件错误:无法将"*.zip"解压缩到"" (错误 1-操作不被允许)

    错误提示: 无法将"*.zip"解压缩到"" (错误 1-操作不被允许)或者 解压缩失败 英文提示: "Unable to unarchive int ...

  3. ZIP解压缩工具类

    import java.io.File; import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.Expan ...

  4. ZIP解压缩文件的工具类【支持多级文件夹|全】

    ZIP解压缩文件的工具类[支持多级文件夹|全] 作者:Vashon 网上有非常多的加压缩演示样例代码.可是都仅仅是支持一级文件夹的操作.假设存在多级文件夹的话就不行了. 本解压缩工具类经过多次检查及重 ...

  5. ZIP解压缩文件的工具类【支持多级目录|全】

    ZIP解压缩文件的工具类[支持多级目录|全] 作者:Vashon 网上有很多的加压缩示例代码,但是都只是支持一级目录的操作,如果存在多级目录的话就不行了.本解压缩工具类经过多次检查及重构,最终分享给大 ...

  6. Java压缩技术(三) ZIP解压缩——Java原生实现

    原文:http://snowolf.iteye.com/blog/642492 JavaEye的朋友跟我说:“你一口气把ZIP压缩和解压缩都写到一个帖子里,我看起来很累,不如分开好阅读”.ok,面向读 ...

  7. Linux下的压缩zip,解压缩unzip命令详解及实例

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

  8. Linux常用指令---tar | zip (解压缩)

    减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用.gzip不仅可以用 ...

  9. Android中的Zip解压缩

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...

  10. Linux下的压缩zip,解压缩unzip命令具体解释及实例

    实例:压缩server上当前文件夹的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前文件夹 unzip filename.zip ================= ...

随机推荐

  1. OpenGL ES学习笔记(一)——基本用法、绘制流程与着色器编译

    首先声明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. 在Android.iOS等移动平台上 ...

  2. 【SET】ORACLE SET 命令

    set colsep' ';     //-域输出分隔符 set echo off;     //显示start启动的脚本中的每个sql命令,缺省为on set echo on             ...

  3. 跟我学 NHibernate (二)

    1. 在 NHibernate 中使用事务, 主要代码如下: #region 事务 public IList<Customer> GetAll() { // 开启事物 using (ITr ...

  4. 部署Ossim

    650) this.width=650;" title="29-1.jpg" alt="095310750.jpg" src="http:/ ...

  5. angular.foreach 循环方法使用指南

    angular有自己的生命周期.循环给一个 angular监听的变量复值时.最好还是用angular自带的循环方法.“angular.foreach” },{a:}]; angular.forEach ...

  6. Android IOS WebRTC 音视频开发总结(三五)-- chatroulette介绍

    本文主要从技术角度介绍chatroulette,文章来自博客园RTC.Blacker,支持原创,转载请说明出处. 很多人不知道或没用过chatroulette,下面先来张界面截图让大家有个整体了解: ...

  7. PayPal 开发详解(三):在网站上创建【立即付款】按钮

    1.使用[商家帐号]登录https://www.sandbox.paypal.com/ 2.点击[用户信息]->[其他选项]->[我保存的按钮] 3.选择[立即购买按钮事例] 4.[第一步 ...

  8. 优秀的富文本编辑器 Kindeditor

    <textarea name="txtbody" style="width:100%;height:320px;" > {$article.txt} ...

  9. 二、搭建struts2的开发环境

    二.搭建struts2的开发环境 下载地址:http://struts.apache.org 解压后的目录结构: apps:框架本身提供一些案例(学习) docs:框架本身提供的文档(指南和API). ...

  10. js 定位到指定位置

     <script>    //滚动定位到product         function scroll() {             var scroll_offset = $(&quo ...