• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • paul wheaton
  • Ron McLeod
  • Devaka Cooray
Sheriffs:
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Piet Souris
Bartenders:

resource file path

 
Ranch Hand
Posts: 377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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/run.properties'. 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/run.properties') 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.
 
Bartender
Posts: 6109
6
Android IntelliJ IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
reply
    Bookmark Topic Watch Topic
  • New Topic