Question

In my java package, I have a file called 'prog.ico'. I'm trying to load this file, via the following code:

java.net.URL url = this.getClass().getResource("prog.ico");
java.awt.Image image = ImageIO.read( url );
System.out.println("image: " + image);

This gives the output:

image: null

What am I doing wrong? The .ico file exists in the same package as the class from which I'm running this code.

Était-ce utile?

La solution

It seems that the .ico image format is not supported. See this question and it's answer to get around this.

To prevent link rot: This solution recommends using Image4J to process .ico files.

Autres conseils

I've written a plugin for ImageIO that adds support for .ICO (MS Windows Icon) and .CUR (MS Windows Cursor) formats.

You can get it from GitHub here: https://github.com/haraldk/TwelveMonkeys/tree/master/imageio/imageio-ico

After you have it installed the plugin, you should be able to read your icon using the code in your original post.

I thing you must go over FileInputStream to wrap the file

 File file = new File("prog.ico"); 
 FileInputStream fis = new FileInputStream(file);  
 BufferedImage image = ImageIO.read(fis); //reading the image file  
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top