import com.drew.imaging.ImageMetadataReader; import com.drew.imaging.ImageProcessingException; import com.drew.metadata.Directory; import com.drew.metadata.Metadata; import com.drew.metadata.Tag; import com.drew.metadata.exif.ExifSubIFDDirectory; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; import java.io.File; import java.io.IOException; import java.util.Date; public class JpmTest { public void viewExif(String filePath) throws ImageProcessingException, IOException { File jpegFile = new File(filePath); Metadata metadata = ImageMetadataReader.readMetadata(jpegFile); // 打印所有Tag for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) { System.out.println(tag); } } // obtain the Exif directory ExifSubIFDDirectory directory = metadata.getFirstDirectoryOfType(ExifSubIFDDirectory.class); // 查询特定Tag:拍摄日期(OS X上叫内容创建时间) Date date = directory.getDate(ExifSubIFDDirectory.TAG_DATETIME_ORIGINAL); } public static void main(String[] args) throws ImageProcessingException, IOException { // File file = new File("C:\\Users\\zhanghai\\Documents\\WeChat Files\\wxid_wexo4ubjorso22\\FileStorage\\File\\2023-11\\JP2/16-35数转模 - 0001.jp2"); // ImageInfo imageInfo = Imaging.getImageInfo(file); // int height = imageInfo.getHeight(); // int width = imageInfo.getWidth(); // int physicalHeightDpi = imageInfo.getPhysicalHeightDpi(); String filePath = "C:\\Users\\zhanghai\\Documents\\WeChat Files\\wxid_wexo4ubjorso22\\FileStorage\\File\\2023-11\\JP2/16-35数转模 - 0001.jp2"; // 替换成你的 JP2 图像文件路径 try { // 读取 JPEG 2000 图像文件 File inputFile = new File(filePath); BufferedImage image = ImageIO.read(inputFile); // ImageInfo imageInfo = Imaging.getImageInfo(inputFile); int height = image.getHeight(); int width = image.getWidth(); // int physicalHeightDpi = image.getPhysicalHeightDpi(); System.out.println(height); System.out.println(width); } catch (IOException e) { e.printStackTrace(); } new JpmTest().viewExif(filePath); } // public static void main3(String[] args) { // // String filePath = "C:\\Users\\zhanghai\\Documents\\WeChat Files\\wxid_wexo4ubjorso22\\FileStorage\\File\\2023-11\\JP2/16-35数转模 - 0001.jp2"; // 替换成你的 JP2 图像文件路径 // try { // File inputFile = new File(filePath); // // Metadata metadata = ImageMetadataReader.readMetadata(inputFile); // ExifIFD0Directory exifIFD0Directory = metadata.getFirstDirectoryOfType(ExifIFD0Directory.class); // // if (exifIFD0Directory != null) { // // Get X and Y DPI values // int xDpi = exifIFD0Directory.getInt(ExifIFD0Directory.TAG_X_RESOLUTION); // int yDpi = exifIFD0Directory.getInt(ExifIFD0Directory.TAG_Y_RESOLUTION); // // System.out.println("X DPI: " + xDpi); // System.out.println("Y DPI: " + yDpi); // } else { // System.out.println("DPI information not found in the metadata."); // } // // } catch (Exception e) { // e.printStackTrace(); // } // } }