प्राप्त करने की तारीख प्राप्त करें, मैं एक छवि की "तिथि ले ली गई" और "तिथि संशोधित" या "बनाई गई तिथि" नहीं ढूंढना चाहता हूं। हालांकि मुझे स्टैक ओवरफ्लो पर कुछ लिंक मिल गए हैं, लेकिन कोई भी इसे पुनर्प्राप्त नहीं कर सकता है। छवि प्रारूप है: टिफ़ और रॉ।किसी छवि को
javax.imageio
का उपयोग करके, मैंने नीचे दिया गया प्रोग्राम लिखा है, लेकिन यह कुछ भी प्रिंट नहीं करता है। कौन सा कोई reader
उपलब्ध
File file = new File(fileName);
ImageInputStream iis = ImageIO.createImageInputStream(file);
Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
if (readers.hasNext()) {
// pick the first available ImageReader
ImageReader reader = readers.next();
// attach source to the reader
reader.setInput(iis, true);
// read metadata of first image
IIOMetadata metadata = reader.getImageMetadata(0);
String[] names = metadata.getMetadataFormatNames();
int length = names.length;
for (int i = 0; i < length; i++) {
System.out.println("Format name: " + names[ i ]);
displayMetadata(metadata.getAsTree(names[i]));
}
}
कोर जावा पुस्तकालयों उपयोग करने का अर्थ है, वहाँ तक पहुँचने के लिए "तिथि लिया" एक विधि है और नहीं "तिथि बनाई गई" या "संशोधित तिथि"। के रूप में मैं ओएस में छवि गुण से देख सकते हैं कि
संपादित इसके अलावा data taken
की जानकारी उपलब्ध है: ऐसा लगता है कि readers
इटरेटर इसके साथ कुछ भी नहीं है। i.e.e आकार 0. यह केवल टिफ और कच्ची छवियों के लिए हो रहा है। Jpeg
आप मेटाडाटा पेड़ की जांच की है आप तारीख मिल सकता है देखने के लिए पाया जा सकता है? जो आपने अभी तक पाया है उसे पोस्ट करें। –
हां। यह कुछ भी प्रिंट नहीं करता है। अगर छवि जेपीईजी थी, तो उसने संपीड़न इत्यादि जैसी प्रिंट जानकारी की थी लेकिन – Jatin
की तारीख नहीं है, शायद पाठक मेटा डेटा को अनदेखा करने के लिए सेट है: 'System.out.println (reader.isIgnoringMetadata()); – Vulcan