在java8 及之前版本中,jdk 中的 ImageIO 读取图片内容会失败,解决办法使用 java9 或者使用第三方插件。
插件可以使用 TwelveMonkeys ImageIO,地址:https://github.com/haraldk/TwelveMonkeys
使用方法,在maven中添加依赖
1<dependency> 2 <groupId>com.twelvemonkeys.imageio</groupId> 3 <artifactId>imageio-tiff</artifactId> 4 <version>3.4.1</version> 5 </dependency>
因为 ImageIO 会自动搜索类路径下继承的接口和子类,因此不需要显示调用。完全无侵入。使用方法和之前的一样,例如,读取tiff的文件
1String filename = "D:\\logs\\temp\\test.tif"; 2 try { 3 BufferedImage bufferedImage = ImageIO.read(FileUtil.getInputStream(filename)); 4 if (bufferedImage == null) { 5 System.out.println("image read null"); 6 } else { 7 System.out.println("read success"); 8 } 9 } catch (IOException e) { 10 e.printStackTrace(); 11 }