国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

一個(gè)用java.util.zip創(chuàng)建和讀取zip文件的類(lèi),可以操作目錄

2019-11-18 11:01:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  寫(xiě)了一個(gè)用java.util.zip創(chuàng)建和讀取zip文件的類(lèi)
跟大家分享一下
里面用了遞歸調(diào)用

呵呵
近期用了不少遞歸調(diào)用!有空總結(jié)一下!

/**
TestZip.java
coding by Serol Luo.
rollingpig@163.com
2003/07/03
http://www.chinaunix.net/forum/viewforum.php?f=26
轉(zhuǎn)載請(qǐng)保留此信息
*/
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.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);}
}
}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜昌市| 安仁县| 苗栗市| 莱州市| 富顺县| 绥江县| 韩城市| 无棣县| 资兴市| 故城县| 濮阳市| 汝城县| 开远市| 安乡县| 平南县| 江山市| 昭通市| 木兰县| 洪雅县| 蚌埠市| 大渡口区| 屏边| 英超| 曲水县| 景洪市| 台江县| 黑山县| 乐清市| 莆田市| 正定县| 江孜县| 鄂尔多斯市| 思茅市| 山阴县| 姜堰市| 阜宁县| 锦州市| 运城市| 新营市| 镇雄县| 隆昌县|