Get the tools you need to learn Java skills fast!
Video tutorials, eBooks, hands-on lab exercises, sample code.
Get started
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 The Software Craftsman this week in the Agile 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: 229
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.
Have you tried LearnNowOnline?
subject: resource file path