每个人。我正在使用apache poi生成excel格式文件,我没有将其存储在磁盘上,而只是将字节数组存储在磁盘上,然后我使用outputstream将字节数组写入客户端,因此客户端可以下载excel文件。像这样:
OutputStream outputStream = response.getOutputStream();
byte[] fileData = generateDownloadFile(paramters);
outputStream.write(temp);
outputStream.flush();
但是,我想知道是否存在一种方法,可以将字节数组追加到客户端而不是一次写入,因此我可以生成一些字节数组,然后刷新它们,然后生成并刷新它们,最后关闭连接。如果使用outputstream的write方法执行此操作,则后者将覆盖前者。
为什么我需要这个?我只想在短时间内将某些内容发送回客户端,如果我生成整个excel文件字节数组,然后将其刷新回去,则连接可能已经关闭,并导致504错误。
我曾经尝试过:
new Socket().getOutputStream();
。我是Java方面的专家,即使不熟悉。有人可以帮忙弄清楚吗? 谢谢。
答案 0 :(得分:0)
输出有一个写方法来添加带偏移量的字节:
outputstream.write(bytes, alreadySentSizeInBytes,
bytes.length);
请检查是否可行