如何获取Apache的POI HSSFWorkbook的文件大小?
我有这样的代码
// inside Servlet
OutputStream out = response.getOutputStream();
hSSFWorkbook.write(out);我想在响应中添加Content-Length报头。
发布于 2012-09-19 21:39:30
最好的办法是在某个地方缓冲它,例如
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);
int length = baos.size();
// Send length...
// Send data
OutputStream out = response.getOutputStream();
out.write( baos.toByteArray() );
out.close();如果您希望避免使用内存进行缓冲,则可以使用临时文件
POI只会在需要写出所有内容时计算大小,因为计算出大小几乎是写出工作的一半!因此,您最好一次性获得大小和序列化
https://stackoverflow.com/questions/12488804
复制相似问题