五笔字根表 键盘-如何关闭软驱
![thumbnails](/uploads/image/0987.jpg)
2023年4月3日发(作者:闪动图片制作)
Thumbnailator处理图⽚踩坑NosuitableImageReaderfound。
。。
Thumbnailator是⼀个优秀的图⽚处理的Google开源Java类库。处理效果远⽐JavaAPI的好。但是在使⽤⼀个如此容易上⼿的⼯具库
的过程中,也会踩中意向不到的坑。以下分享耗我半天时间才跳出来的坑。
我的设备是MacBookPro,能出现这种情况可能也跟我所使⽤的设备有关。
⾸先我要找个图⽚作为测试⽤途,那我⽤哪⾥的图⽚呢?我选择了当时最为顺⼿的从Macbook的备忘录⾥边拷贝⼀张图⽚以作使⽤,将该
图⽚粘贴在⼀⽂件夹中。当我粘贴到⽂件夹中的时候是这样的
我尝试将后缀改成普通图⽚格式.jpg
发现图⽚依然神奇得能正常显⽰并且正常打开。好了,这时候也没有过多的考虑,接下来就来编写java代码。
以下是我代码⽚段,参照其他博主的帖⼦,Thumbnailator的使⽤只需要以下简单的代码:
publicstaticvoidmain(String[]args){
Stringpath="/图⽚存放路径/";//定义图⽚输出路径
Stringopath="/图⽚存放路径/pic_";//定于图⽚输出路径
try{//要求使⽤错误捕捉机制
//将path的图⽚等⽐例缩放到最⼤宽900或⾼900,输出到opath
(path).size(900,900).toFile(opath);
}catch(Exceptione){
tackTrace();
}
}
但是运⾏之后出现了报错,NosuitableImageReaderfoundfor/图⽚存放路径/.
2021-**-**09:19:29,627[main](:14)-
ortedFormatException:NosuitableImageReaderfoundfor/图⽚存放路径/.
(UnknownSource)
(UnknownSource)
Thumbnail(UnknownSource)
ails$(UnknownSource)
(:14)
翻译过来中⽂就是“找不到适⽤于的图⽚阅读器”,也就是说Thumbnailator找到了这个⽂件,但是并不能读取到图⽚。此时,回想到在
学习编写该代码的过程中,也看见过其他博主的⽂章中有使⽤InputStream输⼊流输⼊到Thumbnailator中,会不会是我的输⼊⽅式的
问题呢?好吧我再试试:
publicstaticvoidmain(String[]args){
Stringpath="/图⽚存放路径/";//定义图⽚输出路径
Stringopath="/图⽚存放路径/pic_";//定于图⽚输出路径
try{//要求使⽤错误捕捉机制
//使⽤⽂件输⼊流FileInputStream读取图⽚
FileInputStreamfileInputStream=newFileInputStream(path);
//将fileInputStream的图⽚等⽐例缩放到最⼤宽900或⾼900,输出到opath
(fileInputStream).size(900,900).toFile(opath);
}catch(Exceptione){
tackTrace();
}
}
此时,报错的内容稍微有所变动,变成了NosuitableImageReaderfoundforsourcedata.
ortedFormatException:NosuitableImageReaderfoundforsourcedata.
(UnknownSource)
(UnknownSource)
Thumbnail(UnknownSource)
ails$(UnknownSource)
(:14)
然后就这个问题,翻完了当时为数不多关于这两个报错的技术博客,都还是找不到答案。再当我将⼀切东西重新开始,图⽚使⽤微信新发过
来的其他图⽚,问题就解决了。
总结
该报错主要跟图⽚的格式有关。图⽚的格式并不单纯指的是⽂件的后缀,⽽是图⽚实际上的组织格式。Thumbnailator能够正常处理jpg、
jpeg、png等常⽤格式的图⽚。
在MacBook中,备忘录将图⽚的格式都转化为了.tiff格式,此时可能是⼀种经过备忘录转化过的图⽚格式,具体这种格式是什么可以⾃
⾏跳转到看看。此时的.tiff强⾏改后缀变成.jpg后,Thumbnailator⾥没有.tiff的阅读器,固出现这样的报错。
在之后的使⽤发现,没有必要使⽤输⼊流的格式输⼊图⽚,此时更容易产⽣NosuitableImageReaderfoundforsourcedata报错。在
输⼊时直接指向图⽚路径即可。
更多推荐
thumbnails
发布评论