当前位置: 首页 > wzjs >正文

网站建设的公司太多了生猪价格今日猪价

网站建设的公司太多了,生猪价格今日猪价,百度推广渠道商,如何做网站超链接背景 开发票的时候远程会返回发票的url,现在客户端需要下载发票;因为一个订单可能不止一张发票,因此需要通过网络把远程的文件下载回来并压缩成压缩文件进行返回。 实现 本文的例子直接基于java.net包下面的类实现。(因为是基于…

背景

开发票的时候远程会返回发票的url,现在客户端需要下载发票;因为一个订单可能不止一张发票,因此需要通过网络把远程的文件下载回来并压缩成压缩文件进行返回。

实现

本文的例子直接基于java.net包下面的类实现。(因为是基于网络下载文件,因此文件必须能通过类似于网络的方式访问)

适合静态文件、接口文件流下载等。

如果确定是静态文件的,也可以直接根据下载url来截取获取文件名及后缀,稍微改一下即可。
如果效果不符合,仔细检查文件名是否有问题。

import org.apache.commons.lang.StringUtils;
import java.io.*;
import java.net.URL;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;/*** @ClassName: FileDownloadUtils* @Author: yumoxuan* @Date: 2025/3/6 16:25* @Description:**/
public class FileDownloadUtils {/**** @param urls 一个存放map的list;每个map存放一个远程文件路径url、一个本地文件名name;文件名可以通过增加filename/来调整压缩包内文件的层级* @param zipFileUrl 压缩文件名称,使用相对或绝对路径,包含文件名及后缀* @return* @throws IOException*/public static void getZieFile(List<Map<String,String>> urls,String zipFileUrl) throws IOException {if (urls == null || urls.size() == 0 || StringUtils.isBlank(zipFileUrl)) {//是否要抛异常return ;}File zipFile = new File(zipFileUrl);File parentFile = zipFile.getParentFile();
//		if(zipFile.exists()){
//			//去掉会覆盖已存在的文件
//			return;
//		}if(!parentFile.exists()){parentFile.mkdirs();}zipFile.createNewFile();ZipOutputStream outputStream=new ZipOutputStream(new FileOutputStream(zipFile));Set<String> distinctSet=new HashSet<>();for(Map<String,String> map:urls){String url = map.get("url");String name = map.get("name");if(distinctSet.contains(name)){//重复名字的文件会导致压缩包内文件覆盖continue;}distinctSet.add(name);InputStream inputStream = new URL(url).openStream();ZipEntry zipEntry = new ZipEntry(name);outputStream.putNextEntry(zipEntry);byte[] bytes = new byte[1024];int len = 0;while ((len = inputStream.read(bytes)) > 0) {outputStream.write(bytes, 0, len);}outputStream.closeEntry();}outputStream.finish();outputStream.close();}public static void main(String[] args) {String zipFileUrl="C:\\Users\\Administrator\\Documents\\发票\\test\\test1\\TestZip.zip";List<Map<String,String>> list=new ArrayList<>();Map<String,String> map=new HashMap<>();map.put("url","https://i-blog.csdnimg.cn/direct/6a9dff58549c40d5a94418a2162fae9b.jpeg");map.put("name","photo.jpg");Map<String,String> map1=new HashMap<>();map1.put("name","addfile/table.png");map1.put("url","https://profile-avatar.csdnimg.cn/22ce7a74c84f44b48b361d4f7aeb1b85_weixin_43975276.jpg!1");list.add(map);list.add(map1);try {getZieFile(list,zipFileUrl);} catch (IOException e) {e.printStackTrace();}}
}

结果

运行前:
在这里插入图片描述

运行后:成功下载到本地并压缩成压缩包,addfile/table.png也成功生成了一个文件夹并在文件夹内放table.png.
在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/wzjs/226686.html

相关文章:

  • 做思维导图的在线网站网站seo优化效果
  • 陕西省城乡住房建设厅官网seo检查工具
  • 6电商网站建设网站运营推广
  • 郑州网站建设选智巢免费推广方法
  • 广西和住房城乡建设厅网站网站搜什么关键词
  • 邯郸老区建设网站今日头条新闻推荐
  • 华建河北住房和城乡建设厅网站安卓优化大师旧版
  • 网站建设lhempire网站流量统计分析的维度包括
  • 邯郸网站建设推荐驰捷网络公司站长工具seo综合查询降级
  • 8元一年虚拟云主机长尾词优化外包
  • 天河区做网站的公司seo推广公司招商
  • 西宁专业网站制作公司org域名注册
  • 湘潭做网站口碑好磐石网络百度一下官网搜索引擎
  • 做阿里巴巴网站需要哪些资料郑州营销型网站建设
  • 绍兴网站优化无锡网站建设方案优化
  • 建设网站的工作步骤网站软件免费下载
  • 盐城网站优化价格营销型网站建设需要多少钱
  • 网站中的动态统计图如何做珠海网站设计
  • wordpress模板之家seo排名优化工具推荐
  • 大流量网站开发怎么创建域名
  • 《c程序设计》精品课程网站建设广州推动优化防控措施落地
  • 网站开发平台软件湖南长沙seo
  • 做花酒的网站seo tdk
  • 新动力网站建设公司知乎营销平台
  • 太原网站建设团队站内推广有哪些具体方式
  • 做自我介绍的网站的图片素材做推广的软件有哪些
  • 756ka网站建设关键词搜索名词解释
  • 邯郸做移动网站价格百度云资源链接分享群组
  • 福建省住房城乡和建设厅网站广州网站seo推广
  • 公众号开发哪家专业定西seo排名