本篇文章给大家带来的内容是关于java压缩多个文件的方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
首先创建一个工具类,定义好接口,这里的参数
1:filelist:多个文件的path+name
2: zipfilename:压缩后的文件名
下面是代码,注释已经很详细了
public class ziputil { public static string createzipfile(arraylist<string> filelist, string zipfilename) { if(filelist == null || filelist.size() == 0 || commonutil.isempty(zipfilename)){ return null; } //构建压缩文件file file zipfile = new file(zipfilename); //初期化zip流 zipoutputstream out = null; try{ //构建zip流对象 out = new zipoutputstream(new fileoutputstream(zipfile)); //循环处理传过来的集合 for(int i = 0; i < filelist.size(); i++){ //获取目标文件 file infile = new file(filelist.get(i)); if(infile.exists()){ //定义zipentry对象 zipentry entry = new zipentry(infile.getname()); //赋予zip流对象属性 out.putnextentry(entry); int len = 0 ; //缓冲 byte[] buffer = new byte[1024]; //构建fileinputstream流对象 fileinputstream fis; fis = new fileinputstream(infile); while ((len = fis.read(buffer)) > 0) { out.write(buffer, 0, len); out.flush(); } //关闭closeentry out.closeentry(); //关闭fileinputstream fis.close(); } } }catch (ioexception e) { e.printstacktrace(); }finally{ try { //最后关闭zip流 out.close(); } catch (ioexception e) { e.printstacktrace(); } } return zipfilename; }}
以上就是java压缩多个文件的方法介绍(代码示例)的详细内容。