当前位置:首页>> Java>> java高级编程

全文搜索

精华导读

·EasyERP2004 制造行业通用性ERP管理系统
·PB中表的修改对数据窗口和报表的影响的解决办法
·在PB中实现Word内容的替换
·office xp风格菜单基本版
·用PB制作outlook界面源程序(非原来的老外版本)(
·将所见dw内容(包括计算字段)输出到execl中
·ERP在中国应用面临的问题
·PB中使用FORMULA ONE(实例篇
·控制打印机的动态库,兼容win98/98/me/nt2000/xp
·易佳自定义报表系统
·用例驱动的需求过程实践

最新发表

·仿windows优化大师界面(源码)
·常见问题的经典解决之SPLITBAR
·pb技巧
·PowerBuilder 10 Beta1下载和相关信息
·如何在pb9中调用WebService
·在非PB9 JSP Target的jsp网页中调用EAServer组件
·质量管理的十三项步骤和八项原则
·用预测性对象点度量面向对象软件(下)
·用预测性对象点度量面向对象软件(上)
·软件开发度量及考核方法
·点度量(4)—最新发布度量方法及参考
·点度量(3)—功能规模度量方法选择
·点度量(2)—功能规模度量方法评价
·点度量(1)—功能规模度量方法概述
·如何对软件质量进行评估
·从印度软件项目管理谈我国软件质量保障
·步步为营,把好质量关
·软件产品的可用性的测试
·软件测试认识的几个误区

一个用java.util.zip创建和读取zip文件的类,可以操作目录

文章来源:互联网络 文章编辑:admin 添加时间:2004-2-19

写了一个用java.util.zip创建和读取zip文件的类 
跟大家分享一下 
里面用了递归调用 

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

[code:1:c8a71e86d8]     /** 
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;i<fl.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);} 

}[/code:1:c8a71e86d8]

[ ]

首页 评论 打印 刷新 返回顶部 关闭
【相关文章】  【相关评论】
目前暂时没有相关文章