Javafx获取图像日期信息

时间:2016-02-06 10:43:45

标签: java date javafx javafx-8 exif

我正在使用javaFX希望检索图像信息,如日期,大小,格式等。下面是我用来检索图像日期的部分代码。

我可以从图像文件中检索日期信息,但是我遇到了问题。

  1. 如果我之前没有编辑图像日期,代码肯定会遇到[catch(Exception e)]部分。
  2. 如果我按照下面的示例编辑了日期,那么代码将无法进入[catch(例外e)]。
  3. 我无法弄清楚导致这种情况发生的原因是什么。 请提供一些建议来修复代码中的代码错误或任何逻辑问题?在此先感谢=)

    Image date Original

    Image date Edited

    Date date = null;
                try { 
                File imagefile = new File(Path);
                Metadata metadata = ImageMetadataReader.readMetadata(imagefile);
                ExifSubIFDDirectory directory = metadata.getFirstDirectoryOfType(ExifSubIFDDirectory.class);
                    if (directory!=null) {
                        // Read the date
    
                    date = directory.getDate( ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL );
                    DateFormat df = DateFormat.getDateInstance();
                    df.format( date );
                    int year = df.getCalendar().get( Calendar.YEAR );
                    int month = df.getCalendar().get( Calendar.MONTH ) + 1;
                    int day = df.getCalendar().get(Calendar.DAY_OF_MONTH);
    
                    System.out.println( "Year: " + year + ", Month: " + month );
                    System.out.println("Day:"+day);
    
                    System.out.println( "Date: " + date );                   
                        } else {
                            System.out.println( "EXIF is null" );
                        }    
                } catch (Exception e) {
                    System.out.println("Date Format cannot read exception");
                }  
    

0 个答案:

没有答案