首页 > 编程语言 >java 通过url下载附件并压缩zip

java 通过url下载附件并压缩zip

时间:2023-04-19 14:45:29浏览次数:36  
标签:java File zip url filePathDir String file new out

public File zipAttachFile(String filePathDir, List<String> urlFileList, String memberId) throws Exception {
filePathDir = "/home/file"; File zipFileDir = new File(filePathDir); if (!zipFileDir.exists()) { zipFileDir.mkdir(); } List<File> fileList = new ArrayList<>(); for (String fileUrl : urlFileList) { int lastIndexOf = fileUrl.lastIndexOf("/"); String fileName = fileUrl.substring(lastIndexOf + 1); File file = new File(filePathDir + fileName); URL url = new URL(fileUrl); FileUtils.copyURLToFile(url, file); fileList.add(file); } String filePath = filePathDir + transToTrilateralMemberId(olsConfigProperites.getOrderPre(), memberId) + ".zip"; File zipFile = new File(filePath); byte[] buf = new byte[1024]; try { // ZipOutputStream类:完成文件或文件夹的压缩 ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFile)); for (File file : fileList) { FileInputStream in = new FileInputStream(file); out.putNextEntry(new ZipEntry(file.getName())); int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } out.closeEntry(); in.close(); } out.close(); } catch (Exception e) { log.error("文件压缩失败" + e); } return zipFile; }

 

标签:java,File,zip,url,filePathDir,String,file,new,out
From: https://www.cnblogs.com/stromgao/p/17333237.html

相关文章

  • java 删除文件和目录
    publicvoiddeleteFileAndDir(StringfilePathDir){Pathpath=Paths.get(filePathDir);try{Files.walkFileTree(path,newSimpleFileVisitor<Path>(){//先去遍历删除文件......
  • windows下安装java环境粗糙步骤——博客园
    下载安装1.首先下载jdk安装包  官网下载:https://www.oracle.com/java/technologies/downloads/#jdk20-windows 百度云盘:链接:https://pan.baidu.com/s/1DpF83y-CDAgnGKdbmlvpxw?pwd=BS11提取码:BS11 2.安装双击下载好的安装包,点击下一步,傻瓜式安装方式进行,中间记......
  • M2 java 反编译工具 jd-gui安装
    安装java1.8验证安装whichjava$(/usr/libexec/java_home)echo$JAVA_HOMEjava-verison```####brew安装brewinstalljd-gui###已经安装jdk1.8但是Java反编译工具JD-GUI还是报错找不到java1.8+ERRORlaunching'JD-GUI'NosuitableJavaversionfoundon......
  • 程序之外的java文件
      ......
  • Java SpringBoot 加载 yml 配置文件中字典项
    将字典数据,配置在yml文件中,通过加载yml将数据加载到Map中SpringBoot中yml配置、引用其它yml中的配置。#在配置文件目录(如:resources)下新建application-xxx必须以application开头的yml文件,多个文件用","号分隔,不能换行项目结构文件application.ymlserver:po......
  • 设计模式-模板模式在Java中的使用示例-悍马模型制造示例
    场景设计模式-模板模式在Java中的使用示例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/130230732上面整理了模板模式的使用示例,为加强理解特记录另一个使用示例,以下示例摘自设计模式之禅第二版。模板方法模式定义一个操作中的算法的框架,而将一些步骤延迟到......
  • 每日八股文之Java
    1、请你说说死锁定义及发生的条件得分点:争夺共享资源、相互等待、互斥条件、请求和保持条件、不剥夺条件、环路等待条件死锁定义:两个或两个以上的进程在执行过程中,因争夺共享资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或......
  • JavaScript 隐式类型转换有哪些副作用
    JavaScript隐式类型转换有哪些副作用在JavaScript中,隐式类型转换指的是在运行时自动将一个数据类型转换为另一个数据类型。虽然JavaScript中的隐式类型转换有时可以使代码更简洁,但也会带来一些副作用,包括:难以预测的结果:由于JavaScript在隐式类型转换时会自动进行一些操......
  • java获取包下所有的类
    1.背景给一个Java的包名,获取包名下的所有类..根据类上的注解,可以展开很多统一操作的业务2.直接看代码packagecom.common.config.mq.supplier;importcom.common.config.mq.MqRegister;importlombok.extern.slf4j.Slf4j;importjava.io.File;importjava.lang.refle......
  • 重学Java设计模式-行为型模式-迭代器模式
    重学Java设计模式-行为型模式-迭代器模式内容摘自:https://bugstack.cn/md/develop/design-pattern/2020-06-23-重学Java设计模式《实战迭代器模式》.html#重学-java-设计模式-实战迭代器模式「模拟公司组织架构树结构关系-深度迭代遍历人员信息输出场景」迭代器模式介绍图......