Reputation: 8007
I need to get a resource image file in a java project. What I'm doing is:
URL url = TestGameTable.class.getClass().
getClassLoader().getResource("unibo.lsb.res/dice.jpg");
The directory structure is the following:
unibo/
lsb/
res/
dice.jpg
test/
..../ /* other packages */
The fact is that I always get as the file doesn't exist. I have tried many different paths, but I couldn't solve the issue. Any hint?
Upvotes: 76
Views: 251270
Reputation: 187
if you are calling from static
method, use :
TestGameTable.class.getClassLoader().getResource("dice.jpg");
Upvotes: 11
Reputation: 587
One thing to keep in mind is that the relevant path here is the path relative to the file system location of your class... in your case TestGameTable.class. It is not related to the location of the TestGameTable.java file.
I left a more detailed answer here... where is resource actually located
Upvotes: 4
Reputation: 1816
Instead of explicitly writing the class name you could use
this.getClass().getResource("/unibo/lsb/res/dice.jpg");
Upvotes: 24
Reputation: 597362
TestGameTable.class.getResource("/unibo/lsb/res/dice.jpg");
getResource()
directly on the class.Upvotes: 128