У меня проблема с чтением содержимого zip-файла, полученного из веб-службы.Java - Получение OutOfMemoryError при анализе ZipInputStream
Почтовый файл хранится в массиве байтов с именем bytes
, как вы можете видеть в приведенном ниже коде.
ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(bytes.get()));
String rawJson = IOUtils.toString(zis);
Когда я исполняю IOUtils.toString(zis)
я получаю OutOfMemoryError: Java пространство кучи.
Я уверен, что проблема связана с размером json-файла, содержащегося в zip, больше 150 МБ. Я пробовал с другими меньшими файлами, и я могу получить json-контент без каких-либо проблем.
Есть ли способ прочитать содержимое zip без сохранения его в памяти?
EDIT: Я знаю, что я мог бы увеличить свою память кучи, но я ищу для кода на основе решения, так как он woud работать на любых условиях.
Это может быть решением, но мой код может работать на условиях я не мог проверочный, так что я «Ищем более общее и основанное на коде решение. Спасибо, кстати ;-) –