在我的java包中,我有一个名为'prog.ico'的文件。我正在尝试通过以下代码加载此文件:
java.net.URL url = this.getClass().getResource("prog.ico");
java.awt.Image image = ImageIO.read( url );
System.out.println("image: " + image);
这给出了输出:
image: null
我做错了什么? .ico文件与我运行此代码的类存在于同一个包中。
答案 0 :(得分:2)
答案 1 :(得分:1)
我为ImageIO编写了一个插件,增加了对.ICO(MS Windows Icon)和.CUR(MS Windows Cursor)格式的支持。
你可以在这里从GitHub获取它:https://github.com/haraldk/TwelveMonkeys/tree/master/imageio/imageio-ico
在您拥有installed插件之后,您应该能够使用原始帖子中的代码阅读您的图标。
答案 2 :(得分:0)
我认为你必须通过FileInputStream
来包装文件
File file = new File("prog.ico");
FileInputStream fis = new FileInputStream(file);
BufferedImage image = ImageIO.read(fis); //reading the image file