读取照片部分元信息
import com.drew.imaging.ImageMetadataReader;
import com.drew.metadata.Directory;
import com.drew.metadata.Metadata;
import com.drew.metadata.Tag;
import java.io.File;
/**
* Created by yzr on 2018/5/28.
*/
public class ImageExtract {
public static class ImageMeta {
String latitude;
String longitude;
String date;
String path;
}
public static ImageMeta getMetaData(String path) {
try {
File file = new File(path);
Metadata metadata = ImageMetadataReader.readMetadata(file);
int cnt = 0;
ImageMeta imageMeta = new ImageMeta();
imageMeta.path = path;
for (Directory directory : metadata.getDirectories()) {
if (cnt >= 3) {
break;
}
for (Tag tag : directory.getTags()) {
if (cnt >= 3) {
break;
}
String key = tag.getTagName();
String v = tag.getDescription();
if ("GPS Latitude".equals(key)) {
imageMeta.latitude = v;
cnt++;
}
if ("Date/Time".equals(key)) {
imageMeta.date = v;
cnt++;
}
if ("GPS Longitude".equals(key)) {
imageMeta.longitude = v;
cnt++;
}
}
}
return imageMeta;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) throws Exception {
System.out.println(getMetaData("/Users/yzr/Desktop/4b897bf65fad05f5.jpg").latitude);
}
}
依赖库
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.11.0</version>
</dependency>