我有一个 InputStream
来自 ProcessBuilder
读取 stdout
流。
问题:我怎么知道内存中的大小 InputStream
,所以我可以将它写入 HttpResponse
http 标头?
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
OutputStream out = response.getOutputStream();
int bytes;
while ((bytes = br.read()) != -1) {
out.write(bytes);
}
//how can I know the size of the inmemory stream/file written?
//response.setContentLength((int) pdfFile.length());
原文由 membersound 发布,翻译遵循 CC BY-SA 4.0 许可协议
没有输入流大小这样的东西。考虑一个永不退出的程序,或一个永不停止发送的套接字对等体。而且您不需要知道将其写入
HttpResponse
标头。Content-length
自动为您管理。