资讯专栏INFORMATION COLUMN

java压缩多个文件

Jeffrrey / 579人阅读

摘要:首先创建一个工具类,定义好接口,这里的参数多个文件的压缩后的文件名下面是代码,注释已经很详细了构建压缩文件初期化流构建流对象循环处理传过来的集合获取目标文件定义对象赋予流对象属性缓冲构建流对象关闭关闭最后关闭流

首先创建一个工具类,定义好接口,这里的参数
1:fileList:多个文件的path+name
2: zipFileName:压缩后的文件名

下面是代码,注释已经很详细了

</>复制代码

  1. public class ZIPUtil {
  2. public static String createZipFile(ArrayList fileList, String zipFileName) {
  3. if(fileList == null || fileList.size() == 0 || CommonUtil.isEmpty(zipFileName)){
  4. return null;
  5. }
  6. //构建压缩文件File
  7. File zipFile = new File(zipFileName);
  8. //初期化ZIP流
  9. ZipOutputStream out = null;
  10. try{
  11. //构建ZIP流对象
  12. out = new ZipOutputStream(new FileOutputStream(zipFile));
  13. //循环处理传过来的集合
  14. for(int i = 0; i < fileList.size(); i++){
  15. //获取目标文件
  16. File inFile = new File(fileList.get(i));
  17. if(inFile.exists()){
  18. //定义ZipEntry对象
  19. ZipEntry entry = new ZipEntry(inFile.getName());
  20. //赋予ZIP流对象属性
  21. out.putNextEntry(entry);
  22. int len = 0 ;
  23. //缓冲
  24. byte[] buffer = new byte[1024];
  25. //构建FileInputStream流对象
  26. FileInputStream fis;
  27. fis = new FileInputStream(inFile);
  28. while ((len = fis.read(buffer)) > 0) {
  29. out.write(buffer, 0, len);
  30. out.flush();
  31. }
  32. //关闭closeEntry
  33. out.closeEntry();
  34. //关闭FileInputStream
  35. fis.close();
  36. }
  37. }
  38. }catch (IOException e) {
  39. e.printStackTrace();
  40. }finally{
  41. try {
  42. //最后关闭ZIP流
  43. out.close();
  44. } catch (IOException e) {
  45. e.printStackTrace();
  46. }
  47. }
  48. return zipFileName;
  49. }
  50. }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73356.html

相关文章

  • Java 使用JAR文件

    摘要:使用文件与以下好处安全。包作为内嵌在平台内部处理的标准,能够在各种平台上直接使用命令详解创建文件该命令没有显示压缩过程,执行结果是将当前路径下的路径下的全部内容生成一个文件。使用如下命令即可将清单文件中的对提取到文件中。 JAR,Java Archive File,Java档案文件。JAR文件是一种压缩文件,与ZIP压缩文件兼容,通常称为JAR包。JAR文件中默认包含了一个名为META...

    seal_de 评论0 收藏0
  • Java实现下载文件到本地

    摘要:下载下载下载用户信息表必要的说明目前存在下载中文的文件名出现乱码,但好在不影响其中的内容,只是文件名会乱码。问题链接引用实现将文件或者文件夹压缩成 需求 导出文件后存留在了服务器中,需要提供下载按钮,点击后可下载到本地;(因为涉及多个文件,下载前先将文件进行压缩,提供下载压缩文件) 效果预览 showImg(https://segmentfault.com/img/bVbk4Xm?w=...

    ytwman 评论0 收藏0

发表评论

0条评论

Jeffrrey

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<