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!完美解决的更多相关文章
- 路径名导致的异常:javax.imageio.IIOException: Can't read input file!
背景: 写了一个测试程序,目的是读取本地的图片,为其打上水印图片.在使用过程中总会遇到:javax.imageio.IIOException: Can't read input file!的错误,最开 ...
- javax.imageio.IIOException: Can't create cache file!
javax.imageio.IIOException: Can't create cache file! at javax.imageio.ImageIO.createImageInputStream ...
- 网页验证码出不来,读取验证码时出错:javax.imageio.IIOException: Can't create cache file!
版权声明:本文为博主原创文章,仅作为学习交流使用 转载请注明出处 https://www.cnblogs.com/linck/p/10593053.html 今天打开项目时,发现登陆界面的验证码出不来 ...
- javax.imageio.IIOException: Can't create output stream! (生成验证码Servlet)
在 web.xml里面加入 下面的代码: <servlet> <servlet-name>validatecode</servlet-name> ...
- 解决javax.imageio.IIOException: Can't create output stream!
解决javax.imageio.IIOException: Can't create output stream! javax.imageio.ImageIO.write(image, "J ...
- 解决tomcat报错javax.imageio.IIOException: Can't create output stream!
启动tomcat catalina.out报错如下,登陆的时候无法显示验证码 2017-06-09 11:23:06,628 DEBUG org.springframework.web.servlet ...
- thinkphp 5.6以上版本出现No input file specified解决办法
打开thinkphp,出现No input file specified. 解决方法:在工程下的.htaccess文件里, 把RewriteRule ^(.*)$ index.php/$1 [QSA, ...
- WebView中input file的解决方法
public class MyWb extends Activity { /** Called when the activity is first created. */ WebView web; ...
- thinkphp使用模块/控制器/操作访问时出现No input file specified.解决方式
thinkphp使用 http://serverName/index.php/模块/控制器/操作 访问时,出现了 No input file specified. 的错误 解决办法: 一: 开启cgi ...
随机推荐
- python基础(36):pymysql模块
1. pymysql模块 在使用pymysql模块前需要学习数据库MySQL:<MySQL基础>. 1.1 pymysql的下载和使用 看完MySQL基础,我们都是通过MySQL自带的命令 ...
- Eclipse与IDEA配置tomcat
在eclipse中配置tomcat 打开servers窗口点击新建服务器 选择apache下对应版本,填写服务器名(自定义) 点击browse指定tomcat解压路径,点击finish 在server ...
- Java并发J.U.C学习总结
转载自http://www.cnblogs.com/chenpi/结合自己理解稍有添加自己的理解 阅读目录 JSR 166及J.U.C Executor框架(线程池. Callable .Future ...
- idea使用maven中的tomcat插件开启服务出现java.net.BindException: Address already in use: JVM_Bind :8080错误原因
[INFO] create webapp with contextPath: /maven_web 五月 11, 2019 6:05:26 下午 org.apache.coyote.AbstractP ...
- bootstrap-table 常用总结-树形结构(展开和折叠)
今天在工作的时候,遇到了一个需求,就是需要一键展开或者关闭树形结构.关于树形结构的不是很熟悉,然后去百度,结果也不是很准确.最后经过Google才找到.下面分享给大家 直接看代码: var flag ...
- ES6- Class类的使用,声明,继承
声明一个类 //class 类 class Coder{ // 类中都是方法 函数 //val是name方法的参数 name(val){ console.log(val) //类 return val ...
- iOS中dealloc原理
参考链接: https://www.jianshu.com/p/eec3fb94b2e6
- linux终端 tty pty pts等
linux终端 tty pty pts等 20140608 Chenxin整理 系统变量TERM不知是用来干什么的?它的值有vt100,vt220等,这些值代表什么意思? 环境变量TERM设置为终端机 ...
- Centos7 下添加开机自启动服务和脚本
1.添加开机自启服务 #设置jenkins服务为自启动服务 systemctl enable jenkins.service #启动jenkins服务 systemctl start jenkins. ...
- 12-《Node.js开发指南》-核心模块
全局对象 Node.js中的全局对象是global 所有全局变量(除了global本身以外)都是global对象的属性 最根本的作用为全局变量的宿主 全局变量 //满足以下条件的是全局变量 a.在最外 ...