世界杯积分榜_世界杯几年一届 - fjmzsy.com

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

9453

代码示例代码语言:javascript复制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 删除前往查看java工具类本文分享自 作者个人站点/博客 前往查看

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

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

java工具类

手机新闻软件排行榜TOP10推荐
Wise卡是什么?Wise卡好用吗?Wise实体卡和虚拟卡申请教学