Possible duplication (solved): https://stackoverflow.com/a/1133132/783469
I have icons (jpg, png) for my application, which is stored in my directory /var/tmp/gameXbox/src/image/<here>
. Now, How can i use them in application, without using hard link but as resource?
Example: not working
IconForMyButton = ImageIO.read(new File(
ClassLoader.getSystemResourceAsStream("image/button1.png")
));
Works when i do with hard link:
IconForMyButton = ImageIO.read(new File(
"/var/tmp/gameXbox/src/image/button1.png"
));
Resource loading takes place in the classpath, relative to the current package. If
/var/tmp/gameXbox/src/
is in your classpath, then:However, usually the
src
folder is not included in the classpath by IDEs. Try adding the image to thebin
folder.Images do not go into a source folder but into a resource folder. Fix your IDE and use Maven and it will work with
getResourceAsStream
with the current context classloader.I usually use class.getResource for this kind of operation :
i use it to retrieve the file from a jar archive but should work also to retrieve from filesystem resources.