Meaningless Drivel is fun!
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes Loading Resources within *.jar Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "Loading Resources within *.jar" Watch "Loading Resources within *.jar" New topic

Loading Resources within *.jar

John Luckcuck

Joined: Apr 18, 2002
Posts: 7
I'm trying to load a properties file located /config/fbn.props in my jar. This works fine outside the jar. I'm using:

If I use the same principle for loading an image, this works fine :

I assume the problem is comming up with a URL that is compatible with the "internal references" of the jar. What's the best way (or working way even!) of obtaining the path to files within the jar ?
Thanks in advance

J2EE Web Developer
John Luckcuck

Joined: Apr 18, 2002
Posts: 7
I've resolved this issue by using :
URL url = this.getClass().getResource("/config/fbn.props");
But maybe using a properties file was a little OTT in the first place :roll:
Peter den Haan
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
That's the way to do it -- the URL you get back will have the jar: pseudo-protocol and cannot be converted into a File. Using getResourceAsStream can simplify your code slightly.
- Peter
John Luckcuck

Joined: Apr 18, 2002
Posts: 7
Cheers Peter,
I've decided to stick with my properties file and leave it outside the jar (which is sensible) to allow users to pre-configure their client / server without having to specify command line parameters. Of course, I wont be ignoring the command line parameters, the properties file will merely define my defaults. Any extra command line parameters will overwrite those used in the properties file.
I agree. Here's the link:
subject: Loading Resources within *.jar
It's not a secret anymore!