java读取tif时imageio.read报空指针_部分图片文件解析时(javax.imageio.ImageIO.read)出现空指针异常...

一、现象描述:图片通过普通看图工具打开正常显示,但是通过javax.imageio.ImageIO.read读取时出现空指针

二、可能原因:一是图片路径异常,二是图片格式不符(可用ps软件验证,尝试是否能正常打开)

三、解决方案: jdk本身支持一些图片的处理,如jpeg,bmp,png,但是jdk的图片编解码库不是很强,所以针对部分图片的处理会出现问题, TwelveMonkeys是一个图片编解码库 ,支持的文件格式更多,将com.twelvemonkeys.imageio下的相关jar加入项目即可。

如:

1、maven项目,在pom中加入以下代码片段

com.twelvemonkeys.imageio

imageio-tiff

3.4.2

2、普通项目,添加twelvemonkeys的相关jar到lib中即可

四、参考资料:

1、遍历图片的文件类型,win系统未使用twelvemonkeys前大约有10多种,使用twelvemonkeys后大约能识别20余种

for (int i = 0; i < javax.imageio.ImageIO.getReaderFormatNames().length; i++) {

System.out.println((i+1) + ":" + javax.imageio.ImageIO.getReaderFormatNames()[i]);

}

2、缩略图生成

public static void thumbImage(String input,String

你可能感兴趣的:(java读取tif时imageio.read报空指针_部分图片文件解析时(javax.imageio.ImageIO.read)出现空指针异常...)