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

最美时代的人生

最美时代的人生

2016-02-19 15:11

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

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

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

  跟大家分享一下

  里面用了递归调用

  呵呵

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

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

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
java.util.zip创建和读取zip文件的类

PHP 增加了对 .ZIP 文件的读取功能

PHP
PHP 增加了对 .ZIP 文件的读取功能

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java压缩文件/目录成ZIP包最新技巧

编程语言 网络编程
Java压缩文件/目录成ZIP包最新技巧

WinRAR如何生成ZIP压缩文件

电脑网络
WinRAR如何生成ZIP压缩文件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

iPhone/iPad上解压zip文件教程

iphone iPhone 5s iPhone 6 iphone刷机
iPhone/iPad上解压zip文件教程

利用Java实现zip压缩/解压缩

Java JAVA基础
利用Java实现zip压缩/解压缩

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

EXCEL copy RangeCell的例子

EXCEL copy RangeCell的例子

如何更改音量条和亮度条颜色的背景色和前景色

如何更改音量条和亮度条颜色的背景色和前景色
下拉加载更多内容 ↓