У меня проблема, как упоминалось выше, при извлечении метаданных из файла 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 моей виртуальной машины, и это также не удалось, но, в конце концов, я не заинтересован в увеличении этих свойств, потому что я могу получить более тяжелые изображения для анализа. Буду признателен за помощь в этом вопросе или ссылку на другую библиотеку для разбора метаданных xmp из файлов JPEG/Tif.