javax.imageio.IIOException: Can't read input file!完美解决
Posted King-D
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javax.imageio.IIOException: Can't read input file!完美解决相关的知识,希望对你有一定的参考价值。
今天遇到一个问题,上图
这段代码主要是给图片添加水印
后来百度发现可能是图片的路径出了问题,因为是动态获取的图片地址,然后我把地址打印出来了
之后通过终端查看,果然没有
之后我在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!完美解决的主要内容,如果未能解决你的问题,请参考以下文章