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

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

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

【 tulaoshi.com - 编程语言 】

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

  跟大家分享一下

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

  里面用了递归调用

  呵呵

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

(本文来源于图老师网站,更多请访问http://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);}
}
}

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

延伸阅读
标签: Web开发
有时候我们希望能明确的用小图标来标明我们的超链接的类型。是一个zip文档还是一个pdf文件。这样访问者就知道他所要点击的这个链接是下载而不是打开另一个页面了。如果所有的人都使用IE7或者FF的话。我们完全可以使用[att$=val]属性选择器,寻找以特定值(比如.zip和.doc)结尾的属性。 a[href$=".pdf"] { padding-right: 19px; background: u...
  作者:Kyle Dansie dansie@ibm.net 译者:杨尚峰 storm@chempro.che.ntu.edu.tw v2.4, 10 January 1999 翻译日期:8 June 1999  -------------------------------------------------------------------------------- 这份文件提供你一个在 Linux 上设定与使用 ...
标签: Web开发
原文:http://www.maratz.com/blog/archives/2005/01/13/pdf-links-labeling/ 翻译:http://www.176so.com/past/2007/3/17/pdf_links_labeling/ css技巧之PDF、ZIP、DOC链接的标注 有时候我们希望能明确的用小图标来标明我们的超链接的类型。是一个zip文档还是一个pdf文件。这样访问者就知道他所要点击的这个链接是下载而不是打开另一个页面...
标签: Web开发
原文: 翻译: css技巧之PDF、ZIP、DOC链接的标注 有时候我们希望能明确的用小图标来标明我们的超链接的类型。是一个zip文档还是一个pdf文件。这样访问者就知道他所要点击的这个链接是下载而不是打开另一个页面了。如果所有的人都使用IE7或者FF的话。我们完全可以使用[att$=val]属性选择器,寻找以特定值(比如.zip和.doc)结尾的属性。...
本例子为读取配置文件,一般用作读取参数 /*  * Created on 2004-9-21  *  * Java读取配置文件例子 */ package net.jspcn.test; import java.util.*; import java.io.*; /**  * @author whilvydy  * ...

经验教程

73

收藏

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