本篇文章给大家带来的内容是关于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压缩多个文件的方法介绍(代码示例)的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号