java8 中 ImageIO 读取 tiff 格式的图片失败

在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 }
点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java8 时间类与Date类的相互转化

java8时间类与Date类的相互转化在转换中,我们需要注意,因为java8之前Date是包含日期和时间的,而LocalDate只包含日期,LocalTime只包含时间,所以与Date在互转中,势必会丢失日期或者时间,或者会使用起始时间。如果转LocalDateTime,那么就不存在信息误差。//Date与Instant的相互转化

Java处理.tif或.tiff图片

前言Java将图片读取到内存用的是ImageIO,默认可以处理的图片格式如下:ImageIO.getWriterFileSuffixes()//此方法返回可以处理的图片格式数组jpgbmpgifpngwbmpjpeg当要处理其他图片格式时,如tif或tiff则要加入第

Java一种减少图片存储空间的方法(转换成jpg格式)

  主要用到BufferedImage对象,将原始图片保存为jpg格式:publicstaticvoidthumbImage(Stringinput,StringnewFile)throwsException{Imagesrcjavax.imageio.ImageIO.read(newFile(inpu

NetBeans IDE集成Maven

NetBeans6.7更新版本已经内置对Maven支持。如遇以前的版本,Maven插件在插件管理器中可用。我们正在使用NetBeans在这个例子中使用6.9。在NetBeans一些特点如下您可以从NetBeans运行Maven目标。您可以可以查看Maven命令的输出使用其自己的控制台在NetBeans里面​​。

ElasticSearch6学习(1)

安装准备:安装Elasticsearch唯一的要求是安装Java8,包括对应的Jdk。其他java9/java10没尝试,考虑兼容问题。我这里只用了java8安装java8可以参考我之前写的一篇文章:https://www.cnblogs.com/phpper/p/9201562.html(https://www.oschina.net/