扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
应该把“//”改为“\\”,虽然“/”在java中相当于系统中的“\”,但是改为“/”后依然会报错,而“\\”则会转义为“\”,如下:
成都创新互联公司从2013年开始,是专业互联网技术服务公司,拥有项目做网站、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元西华做网站,已为上家服务,为西华各地企业和个人服务,联系电话:18982081108
Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("\\qq.jpg"));//正确
Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/qq.jpg"));//依然报错
img src="111.png" / 引用的是同一目录下的,你上面那段代码根本就没输出到那个目录当然找不到了。 对于一个项目来说图片有个专有的文件夹存放,比如在WebRoot的imageFolder下,那么你在输出流写图片的时候要指定好这个相对路径,然后页面上用img src="../imageFolder/111.png" /
通常来说解决方案是这样的:以一个图片上传的例子为例,首先会在xml文件中配置好上传文件的绝对路径(例如C:/XXDX/XX这样,将来部署到服务器上时,修改配置文件路径就好了)然后比如我们上传的图片都是用输入流写到xx/xx/war/upload中 (我看你后增加的代码中没有flush(),是不对的) 然后在页面jsp中用/upload/xxx.png取值,之所以这么取是因为“/”是war根目录,当然你要是用"../"那种方式你要查明白你现在的目录级别。
Class.getResource("") 返回的是当前Class这个类所在包开始的位置
举例
URL url = XXXX.class.getResource("");
System.out.println(url);
//输出file:/D:/space/workspace/JDK8/bin/a/
所以a文件下的图片 不需要写 /1.jpg 而直接写 1.jpg
URL url = XXXX.class.getResource("1.jpg");
ImageIcon对象的构造方法很多
比如写图片路径来构造
相对路径的写法
ImageIcon icon = new ImageIcon("src\\a\\50.png");
完整路径,
ImageIcon icon = new ImageIcon("D:\\space\\workspace\\JDK8\\src\\a\\50.png");
使用完整路径,可以加载电脑上的其他位置的图片
比如 ImageIcon icon = new ImageIcon("c:\\50.png");
在图片上右键单击------选择Properties-------弹出对话框里有Location信息
这个信息就是完整路径
如:把A.png放在jar包img文件夹下,那么则路径URL应该是
this.getClass().getResource("img/A.png"))
把路径改成这个就可以了,不过这样在myeclipse里找不到图片,打成jar包就可以显示图片了
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流