ByteArrayOutputStream с zipStream для InputStream - PullRequest
0 голосов
/ 24 марта 2020

В настоящее время я хочу создать zip-файл и сделать его доступным в браузере через HTTP-ответ. Поскольку я не хочу кэшировать файлы на жестком диске, мне приходится все время использовать потоки. Проблема в том, что после создания zip-файла у меня есть только один ByteArrayOutputStream, но для отправки ответа мне нужен InputStream.

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zip = new ZipOutputStream(baos);
// filling zip with multiple ZipEntrys

IOUtils.closeQuietly(zip);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
IOUtils.closeQuietly(baos);

Строка

ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());

каждый раз дает мне нулевой указатель.

Что не так? Есть поток не полностью написан? Кроме того, я должен сделать все с Java 6 и Apache commons.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...