Java实现多文件压缩打包的方法
程序员文章站
2023-12-19 23:19:58
本文实例讲述了java实现多文件压缩打包的方法。分享给大家供大家参考,具体如下:
package com.biao.test;
import java.io.f...
本文实例讲述了java实现多文件压缩打包的方法。分享给大家供大家参考,具体如下:
package com.biao.test; import java.io.file; import java.io.fileinputstream; import java.io.fileoutputstream; import java.io.inputstream; import java.io.outputstream; import java.util.enumeration; import java.util.zip.zipentry; import java.util.zip.zipfile; import java.util.zip.zipoutputstream; public class testzip { /** * 功能:压缩多个文件成一个zip文件 * @param srcfile:源文件列表 * @param zipfile:压缩后的文件 */ public static void zipfiles(file[] srcfile,file zipfile){ byte[] buf=new byte[1024]; try { //zipoutputstream类:完成文件或文件夹的压缩 zipoutputstream out=new zipoutputstream(new fileoutputstream(zipfile)); for(int i=0;i<srcfile.length;i++){ fileinputstream in=new fileinputstream(srcfile[i]); out.putnextentry(new zipentry(srcfile[i].getname())); int len; while((len=in.read(buf))>0){ out.write(buf,0,len); } out.closeentry(); in.close(); } out.close(); system.out.println("压缩完成."); } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } } /** * 功能:解压缩 * @param zipfile:需要解压缩的文件 * @param descdir:解压后的目标目录 */ public static void unzipfiles(file zipfile,string descdir){ try { zipfile zf=new zipfile(zipfile); for(enumeration entries=zf.entries();entries.hasmoreelements();){ zipentry entry=(zipentry) entries.nextelement(); string zipentryname=entry.getname(); inputstream in=zf.getinputstream(entry); outputstream out=new fileoutputstream(descdir+zipentryname); byte[] buf1=new byte[1024]; int len; while((len=in.read(buf1))>0){ out.write(buf1,0,len); } in.close(); out.close(); system.out.println("解压缩完成."); } } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); } } /**功能: * @param args */ public static void main(string[] args) { //2个源文件 file f1=new file("d:\\workspace\\flextest\\src\\com\\biao\\test\\abc.txt"); file f2=new file("d:\\workspace\\flextest\\src\\com\\biao\\test\\test.zip"); file[] srcfile={f1,f2}; //压缩后的文件 file zipfile=new file("d:\\workspace\\flextest\\src\\com\\biao\\test\\biao.zip"); //testzip.zipfiles(srcfile, zipfile); //需要解压缩的文件 file file=new file("d:\\workspace\\flextest\\src\\com\\biao\\test\\biao.zip"); //解压后的目标目录 string dir="d:\\workspace\\flextest\\src\\com\\biao\\test\\"; testzip.unzipfiles(file, dir); } }
更多关于java相关内容感兴趣的读者可查看本站专题:《java文件与目录操作技巧汇总》、《java数据结构与算法教程》、《java操作dom节点技巧总结》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。