Для чтения метаданных, я думаю, вам следует взглянуть на " Извлечение метаданных " - проект с открытым исходным кодом (лицензия Apache 2.0), в котором разработана библиотека Java для чтения метаданных из файлов изображений.
На данный момент этот проект может получить доступ к следующим метаданным изображений:
- Exif
- IPTC
- XMP
- JFIF / JFXX
- Профили ICC
- Поля для фотошопа
" экстрактор метаданных " размещен на google code .
Вот небольшой простой пример кода для версии 2.4.0:
public void example() throws Exception {
File jpegFile = new File("yourJpgFile.jpg");
Metadata metadata = ImageMetadataReader.readMetadata(jpegFile);
Iterator directory = metadata.getDirectoryIterator();
while (directory.hasNext()) {
Object tag = directory.next();
if (tag instanceof ExifDirectory) {
Iterator tags = ((ExifDirectory) tag).getTagIterator();
while (tags.hasNext()) {
System.out.println("EXIF: "+tags.next().toString());
}
} else if (tag instanceof IptcDirectory) {
Iterator tags = ((IptcDirectory) tag).getTagIterator();
while (tags.hasNext()) {
System.out.println("IPTC: "+tags.next().toString());
}
} else if (tag instanceof JpegDirectory) {
Iterator tags = ((JpegDirectory) tag).getTagIterator();
while (tags.hasNext()) {
System.out.println("JPEG: "+tags.next().toString());
}
} else {
System.err.println(tag.getClass());
}
}
}