16 Star 243 Fork 53

wangguanquan / eec

 / 详情

大数据量的时候写到outputStream 和写到某个路径下的某个文件里面都会使用很小的内存吗?

待办的
创建于  
2024-04-14 16:27

大数据量的时候写到outputStream 和写到某个路径下的某个文件里面都会使用很小的内存吗?
如果不是,请告知怎么做才会降低对内存的使用,同时又能达到写入大量数据的?
writeTo(Paths.get("d:/xxx/"));
writeTo(response.getOutputStream());

评论 (3)

shiyingzhan 创建了任务

看上去像是做下载功能,写入到outputStream流与制作Excel的过程无关,文件较大时最好放到文件服务器上然后返回一个访问路径,前端从这个路径下载

文件生成后不大才几十兆,变成文件流,字节流估计也不大。主要是制作Excel的过程中对于内存的消耗非常大。无论您的eec还是poi还是easyExcel都说为了降低内存消耗,会将数据刷到磁盘。所以如果我一开始用这种Workbook.writeTo(response.getOutputStream()) 形式,你会不会往磁盘里面刷呢?毕竟这个response.getOutputStream()只是在内存中的。不像这种writeTo(Paths.get("d:/xxx/"))会写到某个地方;

会的,制作文件过程都会保存到临时文件中,最后再压缩到output

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
Java
1
https://gitee.com/wangguanquan/eec.git
git@gitee.com:wangguanquan/eec.git
wangguanquan
eec
eec

搜索帮助

53164aa7 5694891 3bd8fe86 5694891