[英]Exception in thread “main” java.lang.IllegalArgumentException: image == null
[英]Exception while reading image ==java.lang.IllegalArgumentException: image == null
我正在讀取圖像,並希望獲得圖像格式。
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!
更新:您還需要調用setInput()
您無法關閉信息流。 當您這樣做時,閱讀器將如何閱讀圖像? 請執行下列操作:
reader.setInput(iis);
String name = reader.getFormatName();
iis.close();
return name;
在讀者有機會閱讀格式之前,您正在關閉流。
因此,語句的順序為 :
reader.getFormatName();
iis.close();
return name;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.