У меня есть InputStream
от ProcessBuilder
, который аккуратно читает поток stdout
.Как получить размер InputStream?
Вопрос: как я могу узнать размер этого inmemory InputStream
, так что я могу написать его в http: 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());
Вы не узнаете, пока не прочтете все. Выход может быть бесконечным. –
Вам лучше вернуть это как поток в браузер. –
См. Этот ответ: http://stackoverflow.com/questions/11746978/java-inputstream-size –