| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Чтение дополнительных свойств файла |
| Автор: saneea 3.9.2010, 14:36 |
| В фотографиях или аудиофайлах есть дополнительная информация ("дата съёмки", "модель камеры" и т.д. - для фото, "исполнитель", "название трека" и т.д. для аудио). Есть ли какая-то возможность читать эти свойства файла? |
| Автор: jk1 3.9.2010, 23:12 |
| Всегда есть возможность прочитать такие вещи руками из любого формата. Вот, например, mp3: тут стоит выделить 2 стандарта записи метаданных ID3v1 и ID3v2. Для первого можно воспользоваться таблицей смещений: Field Length Offsets Tag 3 0-2 Songname 30 3-32 Artist 30 33-62 Album 30 63-92 Year 4 93-96 Comment 30 97-126 Genre 1 127 ID3v2 парсить руками уже сложнее, впрочем для это есть библиотека JID3. http://jid3.blinkenlights.org/samples.html. И так вот для каждого формата. Универсального решения, боюсь, нет. |
| Автор: kkorsakoff 5.9.2010, 11:35 |
| Если речь идет об изображениях, вам поможет ImageIO, в ней есть возможность читать метаданные. Но опять же все зависит от конкретного формата. Для TIFF все просто, все теги и их значения легко считываются и записываются. С JPEG придется повозиться, данные EXIF (а это как раз модель камеры, фокусное расстояние и прочие атрибуты) выдаются в виде byte[]. Но если поискать http://www.google.ru/search?aq=f&sourceid=chrome&ie=UTF-8&q=java+EXIF, то решение тоже есть. |
| Автор: saneea 5.9.2010, 20:03 |
| Да, мне нужна информация именно из изображений. Просто я думал что нет разницы jpeg или mp3. Теперь я знаю, что нужно искать "EXIF". Но что-то я не могу найти как с этим всем работать. Нашёл страничку http://jigsaw.w3.org/Doc/Programmer/api/org/w3c/tools/jpeg/Exif.html, но так и не понял, откуда взять эти класс. Документация есть, класса нет... |
| Автор: jk1 5.9.2010, 20:21 |
| saneea, http://www.java2s.com/Open-Source/Java-Document/Web-Server/Jigsaw/org/w3c/tools/jpeg/Exif.java.htm, этот класс. Чуть не забыл, у него http://www.java2s.com/Open-Source/Java-Document/Web-Server/Jigsaw/org/w3c/tools/jpeg/ExifData.java.htm. |
| Автор: saneea 8.9.2010, 09:23 |
| Ок, всё работает. Правда выдаёт тэги в виде пар ":unknown0x9004=1988:03:07 09:12:59". Но как я понял, это стандартизировано... То есть мне важно, чтоб тот же тег ":unknown0x9004" на JPEG'е с другого источника, тоже имел смысл "дата снимка". И ещё вопросец... Какие условия использования http://www.java2s.com/Open-Source/Java-Document/Web-Server/Jigsaw/org/w3c/tools/jpeg/Exif.java.htm? |
| Автор: jk1 8.9.2010, 10:00 | ||||
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html
Не понял о каких условиях идет речь? Вы же сами пишете, что смогли добраться до тегов, да и JavaDoc подробные там есть. Если же вас интересует лицензия, то видимо http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231. |
| Автор: saneea 8.9.2010, 14:24 | ||||
Спасибо!
Да, интересует лицензия. Правда, почитав её так и не понял что могу делать, а что нет. Но это уже моя беда. |