Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java工具集-文件下载工具类

Java工具集-文件下载工具类

作者头像
cwl_java
发布于 2020-06-10 07:49:48
发布于 2020-06-10 07:49:48
1.5K00
代码可运行
举报
文章被收录于专栏:cwl_Javacwl_Java
运行总次数:0
代码可运行
代码示例
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.simple.util.http;

import com.simple.util.io.IOUtil;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;

/**
 * @program: simple_tools
 * @description: 文件下载工具类
 * @author: Mr.chen
 * @create: 2020-06-09 09:49
 **/
public class DownloadFileUtil {

    /**
     * 下载文件
     *
     * @param response
     * @param file
     * @param finishDeleteFile
     *            下载完成之后是否需要删除文件
     */
    public static void download(HttpServletResponse response, File file, boolean finishDeleteFile) {
        FileInputStream fis = null;
        ServletOutputStream out = null;
        try {
            // 1.设置文件ContentType类型,这样设置,会自动判断下载文件类型
            response.setContentType("application/octet-stream");
            String downLoadName = new String(file.getName().getBytes("UTF-8"), "iso8859-1");
            // 2.设置文件头:最后一个参数是设置下载文件名(假如我们叫a.pdf)
            response.setHeader("Content-Disposition", "attachment;fileName=" + downLoadName);
            response.setHeader("Content-Length", String.valueOf(file.length()));
            fis = new FileInputStream(file);
            out = response.getOutputStream();
            int b = 0;
            byte[] buffer = new byte[1024];
            while ((b = fis.read(buffer)) != -1) {
                out.write(buffer, 0, b);
                out.flush();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            IOUtil.close(out);
            IOUtil.close(fis);
            if (finishDeleteFile) {
                if ((file != null) && file.exists()) {
                    file.delete();
                }
            }
        }
    }

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/06/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java工具集-浏览器下载Excel工具类
代码示例 package com.simple.util.poi; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.ByteArrayOutputStream; import java.io.IOException; /** * @program: simple_tools * @description: 浏览器下载Excel工具类 * @
cwl_java
2020/02/11
4640
[长城杯2021]java_url详解
如果不明白web.xml是干嘛的可以百度一下,在java工程中,web.xml用来初始化工程配置信息,比如说welcome页面,filter,listener,servlet,servlet-mapping,启动加载级别等等。
yulate
2023/05/02
7270
[长城杯2021]java_url详解
EasyExcel使用的正确姿势,工具类封装
源码地址:https://github.com/alibaba/easyexcel
明明如月学长
2021/08/27
1.7K0
Java Web实现文件下载的几种方式
文件下载可以说是网站的基础功能,要实现最下载功能,有一种最基本的方法,那就是将超链接的href属性指向对应的资源文件。
陈树义
2022/04/29
2.9K0
springboot实现下载文件,并且在下载完成删除文件
需求是别人请求我的接口,我的接口调用第三方接口下载文件到我本地,我再把文件给别人。由于我的sdk是把文件保存在本地,我需要保证本地不会有太多的临时文件占用,因此需要下载完成删除文件。
高久峰
2024/05/07
1.1K0
HttpServletResponse
web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象、代表响应的一个 HttpServletResponse对象;
Albert_xiong
2021/06/21
5610
HttpServletResponse
Java小白翻身-基于SpringBoot的文件下载系统 3
这一节的目的是实现文件的打包下载。 有了Hutool,感觉轻松多了呢! 我们还是要导入Hutool,帮我们省去文件操作的麻烦。
剽悍一小兔
2021/07/14
6120
Java小白翻身-基于SpringBoot的文件下载系统 3
Java工具集-POI导出工具
添加依赖 <!--poi--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId
cwl_java
2020/02/11
5850
openfeign的几种调用方式
先上openfeign的maven依赖,这边注册中心用的是nacos,具体版本看自己的需求
半月无霜
2023/03/03
1.2K0
Excel工具类
代码 package com.util; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import j
码客说
2019/10/22
6940
完整的 Spring Boot 下载文件示例代码
package com.alibaba.alpha.download; import com.alibaba.alpha.mapper.UiTestCaseMapper; import com.alibaba.alpha.model.UiTestCase; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.sp
一个会写诗的程序员
2019/02/26
2.4K0
Java 文件下载案例讲解
文件下载是Web应用程序中常见的功能之一。它允许用户从Web服务器上下载文件,例如文档、图片、音频、视频等。在本文中,我们将详细解释如何在Java Web应用程序中实现文件下载功能。我们将提供示例代码和逐步说明,以帮助您理解和实现这一功能。
繁依Fanyi
2023/11/04
4320
E015Web学习笔记-Request和Respons(三)
如果超链接指向的资源可以被浏览器解析,则会展示在浏览器里面,否则弹出下载框,询问下载;
訾博ZiBo
2025/01/06
470
E015Web学习笔记-Request和Respons(三)
Spring MVC 4 文件下载实例(带源码)
【本系列其他教程正在陆续翻译中,点击分类:spring 4 mvc 进行查看。源码下载地址在文章末尾。】
明明如月学长
2021/08/27
8380
使用axios下载文件
如果只是简单的下载,我们可以简单使用a标签请求后端就可以了,不过一旦涉及到后端报错的回调、等待动画、进度条这种的,就没有任何办法了。
半月无霜
2024/08/15
3880
Spring MVC-10循序渐进之文件下载
像静态资源,我们在浏览器中打开正确的URL即可下载,只要该资源不是放在WEB-INF目录下,Servlet/JSP容器就会将该资源发送到浏览器。 然而有的时候静态资源是保存在应用程序目录外或者存在数据库中,或者有的时候需要控制它的访问权限,防止其他网站交叉引用它。 如果出现上述任意一种情况,都必须通过编程来发送资源。
小小工匠
2021/08/17
3770
中文文件下载
假 如你的文件名是英文的话,jspsmartupload就可以胜任。但如果你的文件名是中文的话,就只能用下面的方法。这时jspsmartupload 是不能胜任的。以下例子能下载中文文件名(在firefox,ie8,360都通过测试, eclipse内置浏览器不行):
马克java社区
2021/10/10
8390
Java Web文件下载功能实现
但是这里会出现一个问题,就是单击下载压缩包的时候会弹出下载页面,但是下载图片的时候浏览器就直接打开了图片,没有下载。
Java团长
2018/08/03
2.6K0
controller下载单个文件
controller里调用下载方法:然后controller下载方法返回值设置为void即可DownloadFile.download(request, response, "培训班材料合集", new File(folderPathDto.getTodoDownloadZipPath()));下载方法代码import org.apache.commons.io.IOUtils;import javax.servlet.http.HttpServletRequest;import javax.servlet
在下是首席架构师
2022/08/18
7580
【springboot2.x】实现文件下载
简写了几种下载日志的方法。一、方法一 @ApiOperation("日志下载") @GetMapping("/logDownload") public void download(HttpServletResponse response) { try { String mulu = "d:/logs"; ZipUtil.zip(mulu); String path = "d:/logs.zip";
无敌小菜鸟
2023/02/16
8850
相关推荐
Java工具集-浏览器下载Excel工具类
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验