java web项目实现文件下载实例代码

 更新时间:2013年09月16日 16:46:01   作者:   我要评论
现在项目里面有个需求,需要把系统产生的日志文件给下载到本地 先获取所有的日志文件列表,显示到界面,选择一个日志文件,把文件名传到后台
复制代码 代码如下:

File file = new File(path);// path是根据日志路径和文件名拼接出来的
    String filename = file.getName();// 获取日志文件名称
    InputStream fis = new BufferedInputStream(new FileInputStream(path));
    byte[] buffer = new byte[fis.available()];
    fis.read(buffer);
    fis.close();
    response.reset();
    // 先去掉文件名称中的空格,然后转换编码格式为utf-8,保证不出现乱码,这个文件名称用于浏览器的下载框中自动显示的文件名
    response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.replaceAll(" ", "").getBytes("utf-8"),"iso8859-1"));
    response.addHeader("Content-Length", "" + file.length());
    OutputStream os = new BufferedOutputStream(response.getOutputStream());
    response.setContentType("application/octet-stream");
    os.write(buffer);// 输出文件
    os.flush();
    os.close();

struts2.0中,可以使用public void downloadFile(){}这种方法,返回值类型为void,调用时,直接写downloadFile.do就可以出现下载提示框

相关文章

  • Java版画板的实现方法

    Java版画板的实现方法

    这篇文章主要为大家详细介绍了Java版画板的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 关于spring版本与JDK版本不兼容的问题及解决方法

    关于spring版本与JDK版本不兼容的问题及解决方法

    这篇文章主要介绍了关于spring版本与JDK版本不兼容的问题,本文给大家带来了解决方法,需要的朋友可以参考下
    2018-11-11
  • Spring Framework 5.0 入门教程

    Spring Framework 5.0 入门教程

    Spring Framework提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。这篇文章主要介绍了Spring Framework 5.0 入门教程,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Java使用正则表达式截取重复出现的XML字符串功能示例

    Java使用正则表达式截取重复出现的XML字符串功能示例

    这篇文章主要介绍了Java使用正则表达式截取重复出现的XML字符串功能,涉及java针对xml字符串及指定格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • java 反射 动态调用不同类的静态方法(推荐)

    java 反射 动态调用不同类的静态方法(推荐)

    下面小编就为大家带来一篇JAVA 反射 动态调用不同类的静态方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • Java编程实现用hash方法切割文件

    Java编程实现用hash方法切割文件

    这篇文章主要介绍了Java编程实现用hash方法切割文件,简单介绍了hash的概念,然后分享了使用方法示例,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • Mybatis拦截器实现分页

    Mybatis拦截器实现分页

    本文介绍使用Mybatis拦截器,实现分页;并且在dao层,直接返回自定义的分页对象。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • Java经典算法汇总之选择排序(SelectionSort)

    Java经典算法汇总之选择排序(SelectionSort)

    选择排序也是比较简单的一种排序方法,原理也比较容易理解,选择排序在每次遍历过程中只记录下来最小的一个元素的下标,待全部比较结束之后,将最小的元素与未排序的那部分序列的最前面一个元素交换,这样就降低了交换的次数,提高了排序效率。
    2016-04-04
  • eclipse怎么引入spring boot项目插件的方法

    eclipse怎么引入spring boot项目插件的方法

    这篇文章主要介绍了eclipse怎么引入spring boot项目插件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • springmvc fastjson 反序列化时间格式化方法(推荐)

    springmvc fastjson 反序列化时间格式化方法(推荐)

    下面小编就为大家带来一篇springmvc fastjson 反序列化时间格式化方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论