【发布时间】:2012-07-11 21:33:33
【问题描述】:
我正在阅读一张图片并想要获取图片格式。
private static String getFormatName(Object o) {
try {
// Create an image input stream on the image
ImageInputStream iis = ImageIO.createImageInputStream(o);
// Find all image readers that recognize the image format
Iterator<ImageReader> iter = ImageIO.getImageReaders(iis);
if (!iter.hasNext()) {
// No readers found
return null;
}
// Use the first reader
ImageReader reader = (ImageReader)iter.next();
String name = reader.getFormatName();
iis.close();
return name;
} catch (IOException e) {
}
// The image could not be read
return null;
}
当我执行它时,我得到以下异常,
java.lang.IllegalArgumentException: image == null!
【问题讨论】:
-
好像没有找到图片(image=null),可能是路径不对?你检查堆栈跟踪了吗?
-
你为对象传递了什么以及在哪一行抛出了 IllegalArgumentException?是 ImageIO.createImageInputStream 抛出的吗?
-
@VICKY-TSC - 出于好奇,您为什么不将我的答案标记为正确答案?我相信您确实需要我列出的所有 4 行代码才能正常工作。 ??? - 谢谢
标签: java image iterator image-formats