File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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
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!