У меня проблема, подобная упомянутой выше, при извлечении метаданных из файла tif.Он имеет размер более 450 МБ.Я был извлечен с использованием http://commons.apache.org/sanselan/ библиотеки в новейшей версии (0.97).Когда я выполняю код:
String xmpMeta = null;
try {
xmpMeta = Sanselan.getXmpXml(file);
} catch ...
, я получаю следующую трассировку стека:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at org.apache.sanselan.common.byteSources.ByteSourceInputStream.readBlock(ByteSourceInputStream.java:65)
at org.apache.sanselan.common.byteSources.ByteSourceInputStream.access$000(ByteSourceInputStream.java:24)
at org.apache.sanselan.common.byteSources.ByteSourceInputStream$CacheBlock.getNext(ByteSourceInputStream.java:54)
at org.apache.sanselan.common.byteSources.ByteSourceInputStream$CacheReadingInputStream.read(ByteSourceInputStream.java:147)
...
Я должен признать, что я увеличивал свойства Xms и Xmx моего vm, и это также не удалось,но в конце я не заинтересован в увеличении этих свойств, потому что я могу получить более тяжелые картинки для разбора.Буду признателен за помощь в этом вопросе или за ссылку на другую библиотеку для анализа метаданных xmp из файлов JPEG / Tif.