Java怎么下载压缩包
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容主要讲解"Java怎么下载压缩包",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么下载压缩包"吧!package com.golden.c
千家信息网最后更新 2025年02月03日Java怎么下载压缩包
本篇内容主要讲解"Java怎么下载压缩包",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么下载压缩包"吧!
package com.golden.crm.web.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;/** * 下载zip工具类 */public class ZipUtil { private static final Logger logger = LoggerFactory.getLogger(ZipUtil.class); /** * 生成Zip文件 */ public static void generateZipFile(HttpServletResponse response, ListfileUrl, String fileName) throws IOException { ZipOutputStream zipOut = new ZipOutputStream(response.getOutputStream()); for (int i = 0; i < fileUrl.size(); i++) { zipOut.putNextEntry(new ZipEntry(System.currentTimeMillis() + ".jpg")); InputStream stream = this.getInputStreamByUrl(fileUrl.get(i)); if (null == stream) { continue; } int temp = 0; while ((temp = stream.read()) != -1) { zipOut.write(temp); } stream.close(); } zipOut.closeEntry(); zipOut.close(); } /** * 通过url读取图片信息 */ public static InputStream getInputStreamByUrl(String url) { InputStream ins = null; try { URL url_ = new URL(url); HttpURLConnection conn = (HttpURLConnection) url_.openConnection(); conn.setConnectTimeout(3 * 1000); conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); ins = conn.getInputStream(); } catch (IOException e) { logger.info("图片读取失败!-->" + e); } return ins; } /** * 导出Zip文件 */ public static void exportZipFile(String fileName, List fileUrl, HttpServletResponse response, HttpServletRequest request) { try { // 浏览器处理乱码问题 String userAgent = request.getHeader("User-Agent"); // filename.getBytes("UTF-8")处理safari的乱码问题 byte[] bytes = userAgent.contains("MSIE") ? fileName.getBytes() : fileName.getBytes("UTF-8"); // 各浏览器基本都支持ISO编码 fileName = new String(bytes, "ISO-8859-1"); // 文件名外的双引号处理firefox的空格截断问题 response.setHeader("Content-disposition", String.format("attachment; filename=\"%s\"", fileName)); response.setContentType("application/x-msdownload"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + fileName); this.generateZipFile(response, fileUrl, fileName); } catch (Exception e) { logger.info("下载失败!-->" + e); } }}
到此,相信大家对"Java怎么下载压缩包"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文件
问题
UTF-8
处理
乱码
内容
浏览器
学习
浏览
实用
更深
兴趣
实用性
实际
工具
引号
操作简单
文件名
方法
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器错误502
阿里服务器数据库扩容
cams管理服务器
数据库在通讯链路里面的作用
武汉轻洽网络技术怎么样
山西正规软件开发介绍
大专网络技术专业的社会地位
津南区电子网络技术售后服务
nmap网络安全
山东晶橙网络技术有限公司
麒麟软件和数据库适配
团队竞技怎么更改服务器
造成数据库安全性问题的主要原因
二调数据库标准 临时用地
深圳哪里可以买到华为服务器
软件开发与软工有什么区别
网络技术端口是什么
罗琦网络技术工作室
密云区网络技术服务报价
我的世界服务器公会系统指令教程
全省网络安全工作协调会
内蒙古的呼和浩特软件开发
水泵遥控软件开发
虚拟服务器 多开
中专学网络技术专业
工信部网络安全合作平台
网络安全概念的发展
软件开发视频案例
局域网做服务器
中国网络安全新锐