首页 > 编程 > Java > 正文

java 文件大数据Excel下载实例代码

2019-11-26 12:30:14
字体:
来源:转载
供稿:网友

java 文件大数据Excel下载实例代码

excel可以用xml表示。故可以以此来实现边写边下载文件

package com.tydic.qop.controller;  import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.tydic.qop.vo.param.RealTimeReportParamVo;  @Controller @RequestMapping(value = "/exportStream") public class testExportByStream {   /*    * 导出文件通过流    */   @RequestMapping(value = "/exportStream.html")   @ResponseBody    public String exportByStream(RealTimeReportParamVo params, HttpServletResponse response) throws Exception{      String fileName="接口统计分析";          response.reset();     response.setContentType("application/octet-stream;charset=utf-8");     response.setHeader("Content-Disposition", "attachment;filename="+ new String((fileName + ".txt").getBytes(), "iso-8859-1"));     ServletOutputStream out = response.getOutputStream();     BufferedInputStream bis = null;     BufferedOutputStream bos = null;     for(int i=0;i<1000000;i++){       String contentStr="aaa自己写的controller"+i+"/n";       System.out.println(contentStr);       byte[] contentByte=(contentStr).getBytes();       InputStream is = new ByteArrayInputStream(contentByte);       readWrite(is,out,bis,bos);            }       if (bis != null)         bis.close();       if (bos != null)         bos.close();     return null;   }      public void readWrite(InputStream is,ServletOutputStream out,BufferedInputStream bis,BufferedOutputStream bos){     try {       bis = new BufferedInputStream(is);       bos = new BufferedOutputStream(out);       byte[] buff = new byte[2048];       int bytesRead;       // Simple read/write loop.       while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {         bos.write(buff, 0, bytesRead);       }       bos.flush();     } catch (final IOException e) {       e.printStackTrace();     }   } } 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表