2016-10-22 6 views
0

웹 서비스에서 검색 한 zip 파일의 내용을 읽는 데 문제가 있습니다.자바 - ZipInputStream을 파싱하는 동안 OutOfMemoryError 받기

zip 파일은 아래 코드에서 볼 수있는 것처럼 bytes이라는 바이트 배열로 저장됩니다. Java 힙 공간 :

ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(bytes.get())); 
String rawJson = IOUtils.toString(zis); 

내가 IOUtils.toString(zis)을 실행

가 나는 OutOfMemoryError를 얻을.

문제가 zip에 포함 된 json 파일의 크기로 인해 발생하는 문제가 150MB보다 큽니다. 내가 다른 작은 파일을 시도하고 어떤 문제없이 json 콘텐츠를 얻을 수 있습니다.

우편 번호를 메모리에 저장하지 않고 읽을 수있는 방법이 있습니까?

편집 : 나는 힙 메모리를 늘릴 수 있지만 어떤 환경에서도 작동하기 때문에 코드 기반 솔루션을 찾고 있습니다. 유 IDE를 사용하는 경우

답변

0

, 다음

+0

이 해결책이 될 수 컴파일이

Run Configuration > Arguments > -Xmx7048m 

증가를 최대 램을하려고하지만 내 코드는 내가 내가 설정 제어 수없는 환경에서 실행할 수 있습니다 좀 더 일반적이고 코드 기반의 솔루션을 찾고 있습니다. 그런데 감사합니다 ;-) –