6
我想查找圖像的「拍攝日期」,而不是「日期修改」或「創建日期」。儘管我已經在stackoverflow上找到了一些鏈接,但沒有人可以檢索它。圖像格式是:tiff和RAW。獲取拍攝日期的圖像
使用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]));
}
}
使用核心Java庫,有沒有訪問「拍攝日期」的方法,而不是「創建日期」或「修改日期」。 進一步的data taken
信息可用,因爲我可以看到,從圖像特性在OS
編輯:原來,readers
迭代器有與它無關。即大小0.它只發生在tiff和原始圖像上。使用jpeg很好用
您已檢查元數據的樹,看是否能找到的日期?發佈您迄今爲止發現的內容。 –
是的。它什麼都不打印。如果圖像是jpeg,它確實打印了壓縮等信息,但沒有采取日期 – Jatin
也許讀者被設置爲忽略元數據:'System.out.println(reader.isIgnoringMetadata());' – Vulcan