打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
javax.imageio.IIOException: Can't read input file!
userphoto

2017.05.03

关注
   最近,在准备课题作业,想通过sokect编程来实现窗体小程序;实践过程中才发现无限难,不过,怀着拿学历和学位证的信心和毅力去完成这么个小玩意。
   说正题,因为窗体默认是java图标,于是想实现自定义窗体的icon,通过ImageIO去读取文件的时候报错。
   
   控制台报错:
   javax.imageio.IIOException: Can't read input file!       at javax.imageio.ImageIO.read(Unknown Source)       at com.bomei.image.ImageUtils.pressImage(ImageUtils.java:41)       at com.bomei.image.ImageUtils.main(ImageUtils.java:117)

刚开始用ImageIO直接读取File文件。

JFrame f = new JFrame("WAR");

try {

Image  img = ImageIO.read(this.getClass().getResource("/img/cwm02.png");

f.setIconImage(img);//icon

f.setBounds(300, 300, 360, 300);

f.setVisible(true);

f.setResizable(false);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

} catch (IOException e) {

e.printStackTrace();

}


   解决方法(很简单用流解析图片就行):
   //1.绝对路径下指定并解析图片通过FileInputStream读取

String path = "E://Selenium/ChattingMe/src/main/com/tangsg/img/cwm02.png";

InputStream is=new FileInputStream(new File(path));

//2.项目工程根路径下解析图片通过FileInputStream读取

String path = "src/main/com/tangsg/img/cwm02.png";

InputStream is=new FileInputStream(new File(path));

//3.项目工程相对路径下解析图片通过ClassLoader读取

String path = "/com/tangsg/img/cwm02.png";

InputStream is = JFIconFir.class.getResourceAsStream(path);

Image  img = ImageIO.read(is);

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用com.sun.imageio.plugins.png.PNGMetadata读取图片的元数据
jsp文件下载完整方法
Java中图片压缩处理
申精--flex4图表Chart导出图片功能实现详解--菜鸟级详解
java实现gif动画效果(java显示动态图片)
tesseract-ocr识别验证码和中文扫描图片实例讲解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服