servlet简单实现文件下载的方法

 更新时间:2016年12月25日 10:46:05   作者:碉堡猫  
这篇文章主要介绍了servlet简单实现文件下载的方法,涉及基于servlet技术实现流形式文件传输的相关操作技巧,需要的朋友可以参考下

本文实例讲述了servlet简单实现文件下载的方法。分享给大家供大家参考,具体如下:

public static void download(String path, HttpServletResponse response) {
  try {
    // path是指欲下载的文件的路径。
    File file = new File(path);
    // 取得文件名。
    String filename = file.getName();
    // 取得文件的后缀名。
    String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
    // 以流的形式下载文件。
    InputStream fis = new BufferedInputStream(new FileInputStream(path));
    byte[] buffer = new byte[fis.available()];
    fis.read(buffer);
    fis.close();
    // 清空response
    response.reset();
    // 设置response的Header
    response.addHeader("Content-Disposition", "attachment;filename="
        + new String(filename.getBytes()));
    response.addHeader("Content-Length", "" + file.length());
    OutputStream toClient = new BufferedOutputStream(
        response.getOutputStream());
    response.setContentType("application/octet-stream");
    toClient.write(buffer);
    toClient.flush();
    toClient.close();
  } catch (IOException ex) {
    ex.printStackTrace();
  }
}

希望本文所述对大家java程序设计有所帮助。

相关文章

  • JavaWeb实现显示mysql数据库数据

    JavaWeb实现显示mysql数据库数据

    MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的。本文将利用JavaWeb实现显示mysql数据库数据功能,需要的可以参考一下
    2022-03-03
  • Java中一个线程执行死循环有什么后果

    Java中一个线程执行死循环有什么后果

    这篇文章主要为大家详细介绍了Java中一个线程执行死循环有什么后果,当一个线程在执行死循环时会影响另外一个线程吗,下面为大家揭晓
    2016-05-05
  • Spring学习笔记2之表单数据验证、文件上传实例代码

    Spring学习笔记2之表单数据验证、文件上传实例代码

    这篇文章主要介绍了Spring学习笔记2之表单数据验证、文件上传 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 如何利用Java正则表达式校验密码规则

    如何利用Java正则表达式校验密码规则

    正则表达式正则表达式是用来指定字符串模式的,可以方便的处理文本信息,这篇文章主要给大家介绍了关于如何利用Java正则表达式校验密码规则的相关资料,需要的朋友可以参考下
    2022-09-09
  • 使用springcloud+oauth2携带token去请求其他服务

    使用springcloud+oauth2携带token去请求其他服务

    这篇文章主要介绍了使用springcloud+oauth2携带token去请求其他服务方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • spring MVC中接口参数解析的过程详解

    spring MVC中接口参数解析的过程详解

    这篇文章主要给大家介绍了关于spring MVC中接口参数解析的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring mvc具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • 深入java内存查看与分析详解

    深入java内存查看与分析详解

    本篇文章是对java内存查看进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • IDEA中如何使用注解Test

    IDEA中如何使用注解Test

    这篇文章主要介绍了IDEA中如何使用注解Test问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • JNI语言基本知识

    JNI语言基本知识

    JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。接下来通过本文给大家分享jni 基础知识,感兴趣的朋友一起看看吧
    2017-10-10
  • Spring mvc AJAX技术实现原理解析

    Spring mvc AJAX技术实现原理解析

    这篇文章主要介绍了Spring mvc AJAX技术实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03

最新评论