java输出流实现文件下载

//导出Excel
            try {
                HSSFWorkbook wb = carService.export(list);  //调用service方法~!
                response.setContentType("application/vnd.ms-excel");
                response.setHeader("Content-disposition", "attachment;filename=carsList.xls");
                OutputStream ouputStream = response.getOutputStream();
                wb.write(ouputStream);
                ouputStream.flush();
                ouputStream.close();
            } catch (Exception e) {
                logger.error("车辆信息导出excel错误:", e);
            }
            return null;

//导出zip文件
//response.reset();
                        response.setCharacterEncoding("utf-8");
                        response.setContentType("application/octet-stream;charset=UTF-8");
                        response.setHeader("Content-Disposition", "attachment; filename=\"" + zipName + "\"");
                        InputStream is = new FileInputStream(zipFile);     //是文件而不是文件名。
                        FileCopyUtils.copy(is, response.getOutputStream());//将文件写到输出流中
                        return null;

java输出流实现文件下载

时间: 2024-11-12 10:27:19

java输出流实现文件下载的相关文章

Java中都通用文件下载(ContentType、文件头、response、out四步骤)

Java中都通用文件下载(ContentType.文件头.response.out四步骤) 新浪微博:IT国子监(记得关注噢) http://weibo.com/itguozijian   我们就直接切入主题啦,文件下载只需要四步: 1.设置文件ContentType类型 2.设置文件头 3.通过response获取ServletOutputStream对象(out) 4.写到输出流(out)中 下载代码: 这里我使用的是SpringMVC,不过它在这里的唯一用途就是用来获取ServletCon

java—servlet实现文件下载功能

最近在学javaweb技术,利用所学知识做了一个简单的项目,在服务器上实现给用户下载文件的功能.自动列出文件夹下的文件提供下载,支持中文文件名. 结果图 其中使用了tomcat来部署服务器,代码中应用了少许EL表达式和JSTL标签,使用了jsp和servlet,当然还有java和http的基础知识,但是个人觉得重点是http的Content-Disposition头信息和Content-type头信息在servlet中下载方面的应用,详见DownloadPageServlet.java源码. 关

Java输出流的选择

问题 最近遇到一个场景: 程序运行过程中有多个节点对象,其中有三个节点的状态需要持久化,其余节点的状态不需要持久化,所有的节点在运行过程中的状态都会不断变化,程序运行过程中需要保证三个需要持久化节点的数据在大部分场景下崩溃后,下次重启可以读入上次程序崩溃前的状态,此外每个节点有个单独的ID. 由于是单机程序,所以使用了一个Map来存储这些数据 对于单机程序,为了简单,自然想到使用文件来进行数据的持久化,由于有现成的XML工具包使用,所以刚开始时选择了使用XML文件来持久化数据,也就是每次数据变化

java 输出流

//输出流    @Test    public void testOutStream() throws Exception{        OutputStream  out =new FileOutputStream("abc.txt");        String content="hello word/nwww.baidu.com ";        byte[]contentBytes=content.getBytes();        out.wri

Java 实现多线程文件下载(HTTP)

实现原理: 用httpConnection.setRequestProperty("RANGE", "bytes= xxx-xxx");获取指定的数据块 用RandomAccessFile实现文件随机访问,写入指定数据块到文件. 关键事项:获取远程文件大小,根据文件大小确定下载线程个数(可固定线程数,也可固定每个线程下载数据块大小,用户自己决定). package org.hundred.multithreads; import java.io.File; impo

java实现ftp文件下载的源代码

这几天做的一个项目中用到了ftp文件传输,用java实现了ftp文件的下载. 一.win7下搭建ftp服务器 详见:http://jingyan.baidu.com/article/4b52d7026f50eefc5c774bcc.html 二.用java实现ftp文件下载 使用org.apache.commons.net  jar包,下载地址:http://commons.apache.org/proper/commons-net/download_net.cgi 下载完成后,新建java工程

java实现大文件下载(http方式)

java实现大文件下载,基于http方式,控件神马的就不说了. 思路:下载文件无非要读取文件然后写文件,主要这两个步骤,主要难点: 1.读文件,就是硬盘到内存的过程,由于jdk内存限制,不能读的太大. 2.写文件,就是响应到浏览器端的过程,http协议是短链接,如果写文件太慢,时间过久,会造成浏览器死掉. 知识点: 1.org.apache.http.impl.client.CloseableHttpClient  模拟httpClient客户端发送http请求,可以控制到请求文件的字节位置.

Java 之 Response 文件下载案例

文件下载需求: 1. 页面显示超链接 2. 点击超链接后弹出下载提示框 3. 完成图片文件下载 分析过程: 1. 超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框.不满足需求 2. 任何资源都必须弹出下载提示框 3. 使用响应头设置资源的打开方式: content-disposition:attachment;filename=xxx 步骤: 1. 定义页面,编辑超链接href属性,指向Servlet,传递资源名称filename 2. 定义Servlet

java简单实现文件下载

//文件下载 public void download(HttpServletRequest request, HttpServletResponse response, String storeName, String contentType)throws Exception{ request.setCharacterEncoding("UTF-8"); BufferedInputStream bis = null; BufferedOutputStream bos = null;