码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-12-22 12:35:05      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:inpu   sse   res   tar   遇到   测试   百度   exce   inf   

今天遇到一个问题,上图技术图片

 

 技术图片

 

 

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

后来百度发现可能是图片的路径出了问题,因为是动态获取的图片地址,然后我把地址打印出来了

技术图片

 

 之后通过终端查看,果然没有

技术图片

 

 之后我在classes目录找到了文件

技术图片

 

 这时焕然大悟

技术图片

 

 

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

然而我的测试代码是运行在test文件夹的,test文件夹中的resources文件夹中的内容会被放在test-classes文件夹。

代码中动态获取路径时是基于当前运行的代码位置,所以获取的路径为/Users/huang/IdeaProjects/o2o/target/test-classes/watermark.png,但图片被编译后放在了/Users/huang/IdeaProjects/o2o/target/classes/watermark.png中,所以报错找不到文件

 

解决方法:

我采用了比较粗暴的方式,将图片复制一份到test/resources中,编译时图片就会被放到/Users/huang/IdeaProjects/o2o/target/test-classes路径下,问题解决。

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

标签:inpu   sse   res   tar   遇到   测试   百度   exce   inf   

原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/12079371.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!