This week's book giveaway is in the OCAJP 8 forum.
We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes resource file path Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "resource file path" Watch "resource file path" New topic

resource file path

Dennis Putnam
Ranch Hand

Joined: Feb 03, 2012
Posts: 230
I'm having trouble with getResourceAsStream. It seems inconstant (i.e. sometimes is seems to work but that may be an Eclipse thing that is unavailable with a standalone app) but essentially it is returning a null which I presume means it did not find the file. What is not clear is how to properly set the file path. The file I'm after in the jar is in a folder named resource. Thus I set the file to 'resource/'. As a *NIX admin that makes sense since it is relative to the current directory (i.e. the directory containing main). However, I have seen examples that use and absolute path ('/resource/') which implies to me it will look for an external file. So the question is, what is the proper path for my file as a parameter to getResourceAsStream? TIA.

P.S. Lest someone ask, the file does exist as I have verified it within the jar file.
Jeff Verdegan

Joined: Jan 03, 2004
Posts: 6109

getResource looks relative to the classpath, not the file system. I always have to go back and read closely, and the method exists in a couple of different places that refer to each other, so it takes some searching, but I think that a leading / means relative to the root of the classpath and no leading / means relative to the same subtree in the classpath as the current class. Or something like that.
I agree. Here's the link:
subject: resource file path
It's not a secret anymore!