Я работал над проектом, который использует apache-poi для чтения файлов .PPT и изменения некоторых атрибутов записи SlideShowDocInfoAtom в файле ppt.
Я могу прочитать файл, используя HSLFSlideShow, однако, когда дело доходит до большого файла ppt (например, более 1 ГБ), и мое приложение jvm максимальный размер кучи ограничен 2 ГБ, poi выдает ошибку OutOfMemorry.
После прочтения исходного кода я знаю, что он создаст байтовый массив при чтении одного из потоков файла.В файле объемом 1 ГБ поток документов PowerPoint в этом файле будет иметь размер до 1 ГБ, который потребляет 1 ГБ памяти для создания массива байтов и каким-то образом вызывает сбой jvm.
Итак, есть ли способ, которым я могу прочитать большой файл ppt без увеличения размера кучи jvm , так как я хочу только прочитать некоторую информацию об этом файле, не очень-то хочучитать большие блоки файла, такие как аудио или видео, в память.