JavaWeb文件下载功能实例代码

所属分类: 软件编程 / java 阅读数: 38
收藏 0 赞 0 分享

在工作中遇到的一个下载文件的功能,自己将其抽取出来,代码简单,希望能帮到大家,好了,话不多说,上代码!

public void downloadFile(File file, String downName, HttpServletRequest request, HttpServletResponse response) {
 OutputStream out = null;
 FileInputStream fin = null;
 BufferedInputStream bin = null;
 try {
  if (file.exists()) {
  String finalFileName = null;
  String agent = request.getHeader("User-Agent");
  boolean isMSIE = (agent != null && agent.indexOf("MSIE") != -1);
  if (isMSIE) {
   finalFileName = URLEncoder.encode(downName, "UTF8");
  } else {
   finalFileName = new String(downName.getBytes("UTF-8"), "ISO-8859-1");
  }
  response.setContentType("application/x-msdownload");
  response.setHeader("Content-Disposition", "attachment; filename=".concat(finalFileName));
  out = response.getOutputStream();
  fin = new FileInputStream(file);
  bin = new BufferedInputStream(fin);
  for (int data = bin.read(); data > -1; data = bin.read()) {
   out.write(data);
  }
  } else {
  }
 } catch (Exception e) {
  e.printStackTrace();
 } finally {
  try {
  if (bin != null)
   bin.close();
  if (fin != null)
   fin.close();
  if (out != null)
   out.close();
  } catch (Exception e2) {
  e2.printStackTrace();
  }
 }
 }

以上就是本文JavaWeb文件下载的代码,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Springmvc restful配置遇到的小坑

本文是小编给大家带了的Springmvc restful配置遇到的小小坑,小编给大家带来了问题原因及解决办法,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧
收藏 0 赞 0 分享

Java中的匿名内部类小结

java内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类。这篇文章主要介绍了Java中的匿名内部类的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java的云打印Lodop

这篇文章主要介绍了Java的云打印Lodop 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java线程池框架核心代码解析

这篇文章主要针对Java线程池框架核心代码进行详细解析,分析Java线程池框架的实现ThreadPoolExecutor,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java 交换两个变量的数值实现方法

下面小编就为大家带来一篇Java 交换两个变量的数值实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

全面了解JAVA_BaseDAO数据处理类

下面小编就为大家带来一篇全面了解JAVA_BaseDAO数据处理类。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java、python、JavaScript以及jquery循环语句的区别

本篇文章主要介绍java、python、JavaScript以及jquery的循环语句的区别,这里整理了它们循环语句语法跟示例,以便大家阅读,更好的区分它们的不同
收藏 0 赞 0 分享

基于JDBC封装的BaseDao(实例代码)

下面小编就为大家带来一篇基于JDBC封装的BaseDao(实例代码)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

简单通用JDBC辅助类封装(实例)

下面小编就为大家带来一篇简单通用JDBC辅助类封装(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈java线程中生产者与消费者的问题

下面小编就为大家带来一篇浅谈java线程中生产者与消费者的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多