Java实现多文件压缩打包的方法
本文实例讲述了Java实现多文件压缩打包的方法。分享给大家供大家参考,具体如下:
packagecom.biao.test;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.util.Enumeration;
importjava.util.zip.ZipEntry;
importjava.util.zip.ZipFile;
importjava.util.zip.ZipOutputStream;
publicclassTestZIP{
/**
*功能:压缩多个文件成一个zip文件
*@paramsrcfile:源文件列表
*@paramzipfile:压缩后的文件
*/
publicstaticvoidzipFiles(File[]srcfile,Filezipfile){
byte[]buf=newbyte[1024];
try{
//ZipOutputStream类:完成文件或文件夹的压缩
ZipOutputStreamout=newZipOutputStream(newFileOutputStream(zipfile));
for(inti=0;i0){
out.write(buf,0,len);
}
out.closeEntry();
in.close();
}
out.close();
System.out.println("压缩完成.");
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
/**
*功能:解压缩
*@paramzipfile:需要解压缩的文件
*@paramdescDir:解压后的目标目录
*/
publicstaticvoidunZipFiles(Filezipfile,StringdescDir){
try{
ZipFilezf=newZipFile(zipfile);
for(Enumerationentries=zf.entries();entries.hasMoreElements();){
ZipEntryentry=(ZipEntry)entries.nextElement();
StringzipEntryName=entry.getName();
InputStreamin=zf.getInputStream(entry);
OutputStreamout=newFileOutputStream(descDir+zipEntryName);
byte[]buf1=newbyte[1024];
intlen;
while((len=in.read(buf1))>0){
out.write(buf1,0,len);
}
in.close();
out.close();
System.out.println("解压缩完成.");
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
/**功能:
*@paramargs
*/
publicstaticvoidmain(String[]args){
//2个源文件
Filef1=newFile("D:\\workspace\\flexTest\\src\\com\\biao\\test\\abc.txt");
Filef2=newFile("D:\\workspace\\flexTest\\src\\com\\biao\\test\\test.zip");
File[]srcfile={f1,f2};
//压缩后的文件
Filezipfile=newFile("D:\\workspace\\flexTest\\src\\com\\biao\\test\\biao.zip");
//TestZIP.zipFiles(srcfile,zipfile);
//需要解压缩的文件
Filefile=newFile("D:\\workspace\\flexTest\\src\\com\\biao\\test\\biao.zip");
//解压后的目标目录
Stringdir="D:\\workspace\\flexTest\\src\\com\\biao\\test\\";
TestZIP.unZipFiles(file,dir);
}
}
更多关于java相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。