2016-10-22 10 views
0

У меня проблема с чтением содержимого 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 работать на любых условиях.

ответ

0

Если и использует IDE, то попробуйте сделать этот

Run Configuration > Arguments > -Xmx7048m 

увеличить максимальный объем оперативной памяти для компиляции

+0

Это может быть решением, но мой код может работать на условиях я не мог проверочный, так что я «Ищем более общее и основанное на коде решение. Спасибо, кстати ;-) –

 Смежные вопросы

  • Нет связанных вопросов^_^