java下载文件_java下载文件到本地[通俗易懂]

java下载文件_java下载文件到本地[通俗易懂]//获取文件路径并创建一个出入流StringfilePath=”文件实际路径”;FileInputStreamfis=newFileInputStream(filePath);//创建输出流,向客户端输出数据ServletOutputStreamsos=response.getOutputStream();//获取文件名StringfileName=filePath.subs…

大家好,又见面了,我是你们的朋友全栈君。

//获取文件路径并创建一个出入流

String filePath=”文件实际路径”;

FileInputStream fis = new FileInputStream(filePath);

//创建输出流,向客户端输出数据

ServletOutputStream sos = response.getOutputStream();

//获取文件名

String fileName = filePath.substring(filePath.lastIndexOf(‘\\’) + 1);

//文件名转码

fileName = URLEncoder.encode(fileName, “UTF-8”);

//告诉客户端以什么解码方式打开文件

//response.setContentType(“UTF-8”);

//告诉客户端下载文件

if (request.getHeader(“User-Agent”).toLowerCase().indexOf(“firefox”) > -1)

{

response.setHeader(“Content-Disposition”, “attachment; filename*=UTF-8”” + fileName);

System.out.println(“firefox”);

} else {

response.setHeader(“content-disposition”, “attachment; filename=” + fileName);

}

//response.setHeader(“content-disposition”, “attachment; filename=” + fileName);

//response.setHeader(“content-type”, “img/jpeg”);

//输出

byte[] buf = new byte[1024];

int len = -1;

while((len = fis.read(buf)) != -1) {

sos.write(buf, 0, len);

}

//关流

sos.close();

fis.close();

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157171.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux基础之正则表达式

    Linux基础之正则表达式正则表达式:又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符…

    2022年7月13日
    21
  • c语言系统主函数流程图,c语言流程图【调解方式】

    c语言系统主函数流程图,c语言流程图【调解方式】虽然电脑已经很普遍了,但是一些年长的人对电脑的操作不是很熟悉,比如在使用win7系统时一旦遇到c语言流程图时就懵了,对于c语言流程图处理起来相对来说较简单,按照我们的步骤处理c语言流程图很容易上手,c语言流程图具体处理方法如下:c语言的流程图怎么画?答:如果会编程序而不会画流程图,建议先把自己的程序研究一遍。若是画主程序流程图,那就需看懂主函数的程序,按照main()函数中的具体书写过程来画,例…

    2025年6月18日
    6
  • 一个interface可以继承多个interface_java语言支持单继承和多继承

    一个interface可以继承多个interface_java语言支持单继承和多继承   搞Java也有两个年头多了 ,今天在修改程序时无意中发现,Java接口中继承了多个接口,哎,真是惭愧直到现在才搞明白。于是就赶紧写了一个例子:packagecom.iman.wrms.t;publicinterfaceIOne{ publicvoidone();} packagecom.iman.wrms.t;publicinterfaceIT

    2022年10月20日
    6
  • 单片机c语言循环移位指令,avr单片机中左移位和右移位指令

    单片机c语言循环移位指令,avr单片机中左移位和右移位指令计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令,而我们所做的11…

    2022年5月6日
    157
  • 数据仓库ods层_app数据仓库搭建

    数据仓库ods层_app数据仓库搭建8.数据仓库之ODS层搭建

    2022年10月5日
    5
  • 微信小程序自定义组件-城市选择「建议收藏」

    微信小程序自定义组件-城市选择「建议收藏」微信小程序自定义组件-城市选择

    2022年4月21日
    93

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号