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