一个用java.util.zip创建和读取zip文件的类,可以操作目录
来源:互联网 发布:关键字排名优化 编辑:程序博客网 时间:2024/06/08 09:37
写了一个用java.util.zip创建和读取zip文件的类
跟大家分享一下
里面用了递归调用
呵呵
近期用了不少递归调用!有空总结一下!
/**
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);}
}
}
- 一个用java.util.zip创建和读取zip文件的类,可以操作目录
- java代码操作zip文件--读取zip文件
- Java 基于java.util.zip类压缩解压Zip文件
- JAVA中创建ZIP文件,并向ZIP文件中写入并读取条目和数据
- java.util.zip对zip文件解压
- java读取zip文件和压缩zip文件
- c#创建多级目录的ZIP文件
- Java创建一个zip文件方法
- JAVA I/O流 (三)--一个创建和解压缩zip文件的小工具类Zip
- 用java中的java.util.zip包读取压缩文件
- JAVA操作ZIP文件 -
- java zip文件操作
- java.util.zip类 ZipOutputStream
- java.util.zip类 ZipInputStream
- java.util.zip类 ZipFile
- java.util.zip 类 ZipEntry
- java-读取zip文件内容
- Java对zip文件的各种操作
- my turolinux screenshoot ~~ [本文不断更新]
- GF送的贺卡:)
- IIS5.0 Server Application Error 解决方法
- 【转载】CVS使用
- 在windows2003下用web方式更改windows密码
- 一个用java.util.zip创建和读取zip文件的类,可以操作目录
- 一个关于奔驰与宝马的笑话
- 常去的网站{不断更新}
- Borland对C++bulder的承诺,但是C++BuilderX会怎么样?
- Ant使用小结
- 【求助】 计划报考[ 深圳·哈工大MSE ], 了解情况的xd请进来说几句!
- ASP面向对象编程探讨及比较
- VC编译器
- 北京2005年的第一场雪