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程序设计有所帮助。