javax.imageio.IIOException: Can't read input file!完美解决

蹲街弑〆低调 提交于 2020-02-07 00:42:54

首先看问题:

 具体代码的操作:

Thumbnails.of(thumbnailInputStream).size(200,200)
            .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(basePath + "1001100new.jpg")),0.25f)
            .outputQuality(0.8f).toFile(dest);

这段代码主要是给图片添加水印,

而报错找不到路径值

解决方法:

将图片复制一份到test-classes中,编译时图片就会被放到/路径+target/test-classes路径下,问题解决。

原因: 

图片文件一开始是放在main文件夹的resources文件夹中的,在文件编译时,会被放在classes文件夹中。。

然而测试代码是运行在test文件夹的,test文件夹中的resources文件夹中的内容会被放在test-classes文件夹。(貌似不会直接访问main文件夹下面的resources)

代码中动态获取路径时是基于当前运行的代码位置,所以获取的路径为路径+1001100new.jpg,但图片被编译后放在了路径/1001100new.jpg中,所以报错找不到文件

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!