java.util.zip创建和读取zip文件的类

2016-02-19 15:11 12 1 收藏

下面是个超简单的java.util.zip创建和读取zip文件的类教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - 编程语言 】

  写了一个用java.util.zip创建和读取zip文件的类

  跟大家分享一下

  里面用了递归调用

  呵呵

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  近期用了不少递归调用!有空总结一下!

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  

/**
TestZip.java
coding by Serol Luo.
rollingpig@163.com
2003/07/03
http://www.chinaunix.net/forum/viewforum.php?f=26
转载请保留此信息
*/
import java.util.*;
import java.util.zip.*;
import java.io.*;
class TestZip
{
public void zip(String zipFileName,String inputFile)throws Exception{
zip(zipFileName,new File(inputFile));
}
public void zip(String zipFileName,File inputFile)throws Exception{
ZipOutputStream out=new ZipOutputStream(new FileOutputStream(zipFileName));
zip(out,inputFile,"");
System.out.println("zip done");
out.close();
}
public void unzip(String zipFileName,String outputDirectory)throws Exception{
ZipInputStream in=new ZipInputStream(new FileInputStream(zipFileName));
ZipEntry z;
while ((z=in.getNextEntry() )!= null)
{
System.out.println("unziping "+z.getName());
if (z.isDirectory())
{
String name=z.getName();
name=name.substring(0,name.length()-1);
File f=new File(outputDirectory+File.separator+name);
f.mkdir();
System.out.println("mkdir "+outputDirectory+File.separator+name);
}
else{
File f=new File(outputDirectory+File.separator+z.getName());
f.createNewFile();
FileOutputStream out=new FileOutputStream(f);
int b;
while ((b=in.read()) != -1)
out.write(b);
out.close();
}
}
in.close();
}
public void zip(ZipOutputStream out,File f,String base)throws Exception{
System.out.println("Zipping "+f.getName());
if (f.isDirectory())
{
File[] fl=f.listFiles();
out.putNextEntry(new ZipEntry(base+"/"));
base=base.length()==0?"":base+"/";
for (int i=0;ifl.length ;i++ )
{
zip(out,fl[i],base+fl[i].getName());
}
}
else
{
out.putNextEntry(new ZipEntry(base));
FileInputStream in=new FileInputStream(f);
int b;
while ((b=in.read()) != -1)
out.write(b);
in.close();
}
}
public static void main(String[] args)
{
try{
TestZip t=new TestZip();
t.zip("c:test.zip","c:test");
t.unzip("c:test.zip","c:test2");
}
catch(Exception e){e.printStackTrace(System.out);}
}
}

来源:https://www.tulaoshi.com/n/20160219/1609127.html

延伸阅读
本例子为读取配置文件,一般用作读取参数 /*  * Created on 2004-9-21  *  * Java读取配置文件例子 */ package net.jspcn.test; import java.util.*; import java.io.*; /**  * @author whilvydy  * ...
标签: Web开发
有时候我们希望能明确的用小图标来标明我们的超链接的类型。是一个zip文档还是一个pdf文件。这样访问者就知道他所要点击的这个链接是下载而不是打开另一个页面了。如果所有的人都使用IE7或者FF的话。我们完全可以使用[att$=val]属性选择器,寻找以特定值(比如.zip和.doc)结尾的属性。 a[href$=".pdf"] { padding-right: 19px; background: u...
标签: PS PS基础
先看效果图。 新建文档1280x1024像素,背景白色,建新层,用椭圆工具画一正圆填充黑色。 添加图层样式。 效果如下。 建新层,画一个小的黑色正圆。 添加图层样式。 效果如下。 建新层,用钢笔或直线套索画一个三角形,填充黑色。 添加图层样式。 效果如下。 建新层,用钢笔做如下选区...
怎么在iPhone、iPad设备上解压zip rar文件压缩包   1、先在app store那里搜索下载安装软件WinZip软件,要求系统版本是iOS 4.3以上还提供对压缩或解压时的密码支持。 2、通过网页或邮箱的附件或云存储或任何应用打开zip文件,会发现有一个选项是WinZip中打开,点击在WinZip中打开选项tuLaoShi.com。 3、点击该按钮后就...
标签: 电脑入门
很早以前windows系统的解压软件还不支持解压ZIP格式,那时候很多网友说连这么出名的格式都不支持。而现在支持了也没有感觉中的好用,感觉可有可无。 1 而在win7系统中,如果遇到zip格式的文件,是可以直接提取出来,而不是解压出来。一般情况下有提取也就够了。 但是如果你感觉用解压出来更好用,那就跟着图老师小编去修改注册表吧! 2 点...

经验教程

854

收藏

92
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部