Dự án Imagemagick có cơ sở để xác định hình ảnh và có một wrapper Java cho Image Magick gọi JMagick mà tôi nghĩ bạn có thể muốn xem xét việc thay vì tái phát bánh xe:
http://www.jmagick.org
tôi đang sử dụng hình ảnh Magick tất cả các thời gian, bao gồm cả "xác định" tính năng của nó từ dòng lệnh và nó không bao giờ thất bại trong một lần để xác định một bức tranh.
Quay lại những ngày tôi hoàn toàn cần tính năng đó và JMagick chưa tồn tại nhưng tôi đã sử dụng lệnh Runtime.exec()
ImageMagick's identify
từ Java và nó hoạt động hoàn hảo.
Ngày nay, JMagick tồn tại điều này có lẽ không cần thiết nữa (nhưng tôi chưa thử JMagick).
Lưu ý rằng nó mang lại nhiều hơn chỉ là định dạng, ví dụ:
$ identify tmp3.jpg
tmp3.jpg JPEG 1680x1050 1680x1050+0+0 DirectClass 8-bit 293.582kb
$ identify tmp.png
tmp.png PNG 1012x900 1012x900+0+0 DirectClass 8-bit 475.119kb
Có lẽ sử dụng 'ImageIcon.getIconWidth()' trực tiếp sẽ còn làm việc? Nó, ít nhất, trả về '-1' nếu hình ảnh không được tải thành công. – Pooven