java读取图片的EXIF信息

上网搜索一下,很多人推荐用 Metadata Extractor(http://code.google.com/p/metadata-extractor/)来读取图片的EXIF信息。下面mark一下代码

public static void main(String[] args) {
        try {
            File file = new File("D:\\Download\\3.jpg");
            Metadata metadata = JpegMetadataReader.readMetadata(file);
            
            Directory exif = metadata.getDirectory(ExifIFD0Directory.class);
            if(null != exif){
                Iterator<Tag> iterator = exif.getTags().iterator();
                while(iterator.hasNext()){
                    Tag tag = iterator.next();
                    System.out.println(tag);
                }
            }
            if(exif.containsTag(ExifIFD0Directory.TAG_MAKE)){
                System.out.println("Make:" + exif.getDescription(ExifIFD0Directory.TAG_MAKE));
            }
            
            System.out.println("-----------------------1---------------------");
            Directory exif2 = metadata.getDirectory(ExifSubIFDDirectory.class);
            if(null != exif2){
                Iterator<Tag> iterator2 = exif2.getTags().iterator();
                while(iterator2.hasNext()){
                    Tag tag2 = iterator2.next();
                    
                    System.out.println(tag2);
                }
            }
            
            System.out.println("-----------------------2---------------------");
            Directory exif3 = metadata.getDirectory(ExifInteropDirectory.class);
            if(null != exif3){
                Iterator<Tag> iterator3 = exif3.getTags().iterator();
                while(iterator3.hasNext()){
                    Tag tag3 = iterator3.next();
                    System.out.println(tag3);
                }
            }
            
            System.out.println("------------------------3--------------------");
            Directory exif4 = metadata.getDirectory(ExifThumbnailDirectory.class);
            if(null != exif4){
                Iterator<Tag> iterator4 = exif4.getTags().iterator();
                while(iterator4.hasNext()){
                    Tag tag4 = iterator4.next();
                    System.out.println(tag4);
                }
            }
        } catch (ImageProcessingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
View Code

 

posted @ 2013-08-28 10:59  leeshunpeng  阅读(2327)  评论(0)    收藏  举报