java 文件大数据Excel下载实例代码
发布时间:2020-12-17 07:26:10 所属栏目:Python 来源:网络整理
导读:java 文件大数据Excel下载实例代码 excel可以用xml表示。故可以以此来实现边写边下载文件 package com.tydic.qop.controller; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java
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,buff.length))) { bos.write(buff,bytesRead); } bos.flush(); } catch (final IOException e) { e.printStackTrace(); } } } 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |