zoukankan      html  css  js  c++  java
  • 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路径下,问题解决。

  • 相关阅读:
    整型数字转utf8
    cmake构建时指定编译器架构(x86 or x64)
    tcp echo server libuv
    VS2015编译boost1.62
    android rom开发
    游戏昵称
    乐观锁和悲观锁
    数据库锁机制
    MySQL事务实现原理
    MySQL事务
  • 原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/12079371.html
Copyright © 2011-2022 走看看