MyBatis大数据量批量插入或者更新(on duplicate key update)的详细说明以及项目碰坑记录
记录ImageIO读取文件为null的问题及Java获取图片的宽高
背景
公司项目需要做一个图片预览的功能,并且要展示图片的分辨率(即宽和高),目前的框架没有这个功能,所以得自己写一个方法去读取上传的附件。百度了一下,发现用Java包中的ImageIO就可以得到图片的宽和高。但是,有部分图片会读出null,然后空指针异常。主要代码如下:
1 | File file = new File(filePath); |
解决过程
造成这个问题的原因是图片的后缀可能是jpg、png,但是图片实际上是另一种格式(比如webp、tif)。先打印一下ImageIO支持的文件格式,代码如下:
1 | // JDK8输出:JPG jpg bmp BMP gif GIF WBMP png PNG wbmp jpeg JPEG |
可以看出ImageIO不支持读取webp格式,JDK8之前不支持读取tif格式图片。
如果图片源格式是tif,那么在项目中加入下面的依赖就行:
1 | <dependency> |
ImageIO 会自动搜索类路径下继承的接口和子类不用改代码。
Java程序猿搬砖笔记(六)
@RequestBody注解支持空参数
@RequestBody(required=false),get/post且实体不加无参构造方法都行
windows查看占用端口并杀死对应进程
1 | E:\Documents\MyIdeaProjects\act\target>netstat -ano |findstr "8888" |