Java 打包成 zip 文件下载

Java 实现多个 URL 文件下载并打包成 Zip 文件的方法详解 在 Java 应用程序中,有时我们需要从多个 URL 地址下载文件,并将这些文件打包成一个 Zip 文件进行批量处理或传输。本文将介绍如何使用 Java 实现多个 URL 文件下载并打包成 Zip 文件的方法,帮助你实现灵活的文件下载和打包功能。在 Java 中,我们可以使用 java.net.URL 类和 java.util.zip 包提供的类来实现多个 URL 文件的下载和打包。接下来,我们可以定义一个方法,接收多个 URL 地址和目标 Zip 文件路径,实现文件下载和打包的功能。 阅读详情

说明

使用了 Hutool 的文件工具类来获取文件名及下载文件

一、读取本地文件后加入压缩包

public void download(String downloadFilename, String[] urls, HttpServletResponse response) {
    // 转换中文否则可能会产生乱码
    downloadFilename = URLEncoder.encode(downloadFilename, "UTF-8");
    // 指明response的返回对象是文件流
    response.setContentType("application/octet-stream");
    // 设置在下载框默认显示的文件名
    response.setHeader("Content-Disposition", "attachment;filename=" + downloadFilename);
    ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());
    // 处理文件列表
    for (String url : urls) {
        // 获取文件流
		InputStream input = new FileInputStream(new File(url));
        // 压缩包创建新文件
        zos.putNextEntry(new ZipEntry(fileName));
        // 写入文件数据
        byte[] buffer = new byte[1024];
		int r = 0;
		while ((r = input.read(buffer)) != -1) {
			zos.write(buffer, 0, r);
		}
		input.close();
    }
    zos.flush();
    zos.close();
}

二、下载网络文件后加入压缩包

public void download(String downloadFilename, String[] urls, HttpServletResponse response) {
    // 转换中文否则可能会产生乱码
    downloadFilename = URLEncoder.encode(downloadFilename, "UTF-8");
    // 指明response的返回对象是文件流
    response.setContentType("application/octet-stream");
    // 设置在下载框默认显示的文件名
    response.setHeader("Content-Disposition", "attachment;filename=" + downloadFilename);
    ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());
    // 处理文件列表
    for (String url : urls) {
        // 处理文件名
        String fileName = FileNameUtil.getName(url);
        // 压缩包创建新文件
        zos.putNextEntry(new ZipEntry(fileName));
        // 下载文件并写入
        HttpUtil.download(filePath, zos, false);
    }
    zos.flush();
    zos.close();
}
java多个文件压缩打包成zip下载 java多个文件压缩打包成zip下载 如果实现批量操作一些文件,使之压缩打包成zip下载? 具体实现步骤如下: 设置下载文件名编码 创建zip输出流ZipOutputStream 将需要下载的文件流循环写入ZipOutputStream 关闭各个流 话不多说,直接上代码 service层方法(关键): @Override public void downloadAllFile(HttpS... 阅读详情

相关推荐

Java实现Zip压缩文件并可以下载

1、项目需求:将多个文件打包后,放到本地,提供下载的需求。2、实现思路:使用org.apache.tools.zip.ZipOutputStream。3、实现代码:(1)做一个压缩的工具类package com.thinkgem.jeesite.modules.data.utils;import java.io.BufferedInputStream;  import java.io.File; ...

雅客 1万+

使用Java根据文件路径下载zip文件到本地

下载目标文件夹中的某个zip文件

工作与学习 3959

Java实现基于URL的多文件下载与ZIP打包导出

本文还有配套的精品资源,点击获取 简介:在Java编程中,实现从多个URL下载文件,并将它们打包成ZIP格式进行导出是一个常见的需求。该过程包括网络请求的建立、文件的本地I/O操作、文件夹的压缩打包,以及与HTML页面交互的导出功能。为了提升用户体验,下载和打包操作通常需要异步执行,以避免阻塞主线程。同时,安全性也是开发过程中需要考虑的重要因素,例如确保URL来源的安全和防...

weixin_35950531的博客 2363

java下载zip文件

Java可以使用URL类和URLConnection类来下载zip文件。可以通过打开一个URL连接,并使用getInputStream()方法获取输入流来读取文件内容,再使用FileOutputStream将读取到的内容写入本地文件中来实现下载。代码示例如下: try { URL url= new URL("http://example.com/example.zip"); URL...

weixin_42612804的博客 3230

hutool工具集.zip

Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。Hutool最初是我项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。

【科研绘图】【数据拟合曲线】:附Origin详细画图流程

拟合曲线图

weixin_50236590的博客 4万+

Java实现文件下载zip包单文件等

摘要本次主要记录将多个文件打包到zip压缩包并完成下载;留个代码方便以后用到了ctrlcv。

kay'blog 5421

循环神经网络(RNN)

在之前学习了全连接神经网络(DNN)模型,网络结构都是从输入层到隐含层再到输出层,层与层之间是全连接或部分连接的,但每层之间的节点是无连接的。 一、神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只要训练数据足够,给定特定的x,就能得到希望的y,结构图如下: 将神经网络模型训练好之后,在输入层给定一个x,通过网络之后就能够在输出层得到特定的y,那么既然有了这么强大的模型,为什么还需要RNN(循环神经网络)呢? 二、为什么需要RNN(循环神经网络) 考虑这样一个问题,如果要预测句子的下一个单词是什么

小朱小朱绝不认输的博客 2万+

java - 打包成.zip实现批量下载文件

The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials

qq_38998209的博客 2167

GEO芯片数据下载和探针ID转换(保姆级教程)

R语言安装、GEO芯片数据下载、探针ID转换

qq_43138237的博客 3万+

EVM算法的Python实现

EVM(Eulerian Video Magnification,欧拉视频放大或欧拉影像放大)是一种将视频中的微小变化进行放大的算法,正如论文标题所说《Eulerian Video Magnification for Revealing Subtle Changes in the World》,该算法可以将视频中的微小变化转变为肉眼可以

flyingzhao 1万+

java 打包zip下载_java web 将文件打包成 .zip后 肿么自动弹出下载框提示并下载?

response.setContentType("application/zip");response.setHeader("Location",fileName);//fileName应该是编码后的(utf-8)response.setHeader("Content-Disposition", "attachment; filename=" + fileName);response.setCon...

weixin_33514300的博客 206

Python爬虫教程:抓取Android或iOS应用中的数据

随着智能手机的普及,移动应用程序已经成为我们生活中不可或缺的一部分。从社交媒体、在线购物到金融服务和健康管理,几乎所有领域都有相应的手机应用程序(App)服务用户。而这些应用程序通常会存储大量的数据,例如用户行为、产品信息、订单记录等。如果我们能有效地抓取这些数据,可以为数据分析、商业智能、用户行为分析等提供有力支持。本文将重点介绍如何使用Python爬虫技术抓取Android或iOS应用中的数据,尤其是如何从这些应用的后端接口、存储、或网页中提取数据。我们将探讨如何通过反向工程技术访问移动应用中的API接

2201_76125261的博客 801

java通过IO流实现文件批量下载,打包成.zip压缩包

【代码】java实现文件批量下载。

qq_46636081的博客 226

学Simulink——基于Simulink的输入-输出线性化精确转矩控制

本文详细介绍了基于Simulink的永磁同步电机(PMSM)输入-输出线性化(IOL)精确转矩控制方法。针对传统解耦控制在非线性转矩特性下的局限性,提出通过精确反馈线性化实现转矩指令与实际转矩的严格线性关系。文章系统阐述了IOL原理、PMSM控制器推导过程,并提供了完整的Simulink建模步骤,包括电机模型搭建、IOL控制器实现和闭环系统构建。通过仿真对比验证了IOL方法在转矩跟踪精度、动态响应和参数鲁棒性方面的显著优势,最后讨论了工程实现要点和扩展应用方向。该方法为高性能伺服系统开发提供了有效解决方案。

amy_mhd的博客 59

无迹卡尔曼滤波 (UKF, Unscented Kalman Filter) 算法详解及案例分析

无迹卡尔曼滤波是一种用于估计非线性系统状态的递归算法。其目标是通过结合系统模型和观测数据,估计系统的最优状态。

闲人编程的博客 2625

java多个文件打包成zip格式下载

我们在使用java下载时候,通常是通过路径获取二进制文件,再通过HttpServletResponse发送到前台,现在将多张图片打包成zip格式进行下载。代码如下: ZipOutputStream zos = null; BufferedInputStream br = null; //下载方法 try { //文件的名称 String downloadFilename = registrationLoginResultVo.getBusinessName()+".zip"; r

图图小淘气的博客 1501

16、SQL Server索引的创建与评估

本文详细介绍了SQL Server中索引的创建与评估方法,涵盖索引的基本概念、类型(聚集与非聚集)、唯一性设置以及如何判断索引的好坏。通过实际操作步骤、维护策略和常见问题解决方案,帮助数据库开发者合理设计索引,提升查询性能并控制维护开销。同时提供了索引创建与维护的决策流程图,便于理解和应用。

water的专栏 126

java 导出excel为zip文件

java 导出多个excel为zip文件 需求:数据导出excel,数据只有一条导出文件为 .xls,多条导出文件为 .zip /** * zip文件下载 * * @param list worbook * @param response response */ public void zipDownload(List<Workbook> list, HttpServletResponse response) { ServletOutputStream outputSt

qq_35719898的博客 933

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java下载多个网络文件并打成压缩包

需求:浏览器访问后台的http地址后,后台将多个网络文件打成压缩包返回给浏览器,用户可以通过浏览器直接下载压缩包。 实现: 根据文件链接把文件下载下来并且转成字节码 ,代码: package com.zwy.blog.servelt; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.i...

分享人工智能领域原创文章 1180

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java文件打包下载_spring mvc java 把多文件打包成zip,并下载

再来一篇/*** 压缩并导出文件* @param zipPath 压缩文件临时路径 路径最后不要有 /* @param zipName 压缩为文件名 **.zip* @param createFilesPath 需要压缩的文件列表* @param request* @param response* @return* @throws IOException*/public boolean dow...

weixin_34520664的博客 194

Java多个文件根据URL下载后打包zip导出

该示例框架为Spring Boot,根据Url把多个文件下载到指定的文件夹目录,然后再将文件夹目录打包成zip导出,有个简单的导出html页面,点击导出按钮下载zip 所需jar包commons-io service层 package com.test.service; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputS

涛哥是个大帅比 4939

java实现文件打包_Java实现文件自动打包成zip并下载的代码

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;public class ZipOutputStreamDemo {public static vo...

weixin_39607447的博客 157

java 生成及下载zip文件

1.生成zip文件 public boolean createCardImgZip(String sourcePath, String zipName) { // TODO Auto-generated method stub boolean result = false; String zipPath = "D:/test/"; File sourceFile = new

cat_book_milk的博客 1万+

使用Java以zip形式批量下载文件、压缩文件

这篇博客详细介绍了在Java中以zip形式批量下载文件,博客中有完整的代码实现。

扬帆向海的博客 3万+

java系列之-下载Zip文件到本地

文章目录前言一、问题处理思路二、接口文档信息三、文档信息分析四、下载Zip到本地总结 前言 这两天帮忙同事看了一个问题,就是从第三方平台下载很痛压缩文件到本地,他搞了挺长时间没搞出来,为了项目的进度,就稍微花了点时间帮忙处理了一下,刚好很长时间没有做这种压缩文件的处理了,记录一下,凑足本月四篇保底文章,哈哈。 一、问题处理思路 做这个事情必须明确一下几点: 第三方提供相关文档描述没有。 确定第三方提供文档的完整性。 自身要有一定的辨识度能不能从第三方提供的文档考量文档的可行性。 确定服务器连接地址是否

weinichendian的博客 2935
上一篇: jar包导入本地maven库
下一篇: MybatisPlus 一些技巧
一只小小翠
博客等级 码龄9年 154粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值