这是一个小巧的相片Exif信息读取和 修改 的Java库。它同时是一个可执行程序,但代码是开源的,可以通过看代码提取出接口自己调用。
一个读取Exif和修改拍照日期的例子:
import java.util.Map; import java.util.SortedMap; import net.sourceforge.jheader.App1Header; import net.sourceforge.jheader.JpegHeaders; import net.sourceforge.jheader.TagValue; import net.sourceforge.jheader.App1Header.Tag; public class Main { public static void main(String[] args) throws Exception { String filename = "IMG_1062.JPG"; JpegHeaders jpegHeaders = new JpegHeaders(filename); // EXIF App1Header exifHeader = jpegHeaders.getApp1Header(); // 遍历显示EXIF SortedMap tags = exifHeader.getTags(); for (Map.Entry entry : tags.entrySet()) { System.out.println(entry.getKey() + "[" + entry.getKey().name + "]:" + entry.getValue()); } // 修改EXIF的拍照日期 exifHeader.setValue(Tag.DATETIMEORIGINAL, "2007:11:04 07:42:56"); // 保存 jpegHeaders.save(true); } }