java - Access resource folder within jar -


i trying read contents of resource folder once jar built. resource folder marked source in ide settings (intellij).

i have tried following methods:

  inputstream input = getclass().getresourceasstream("../objectlocation.json");   jsonreader jsonreader = new jsonreader(new inputstreamreader(input)); 

i have tried:

  jsonreader jsonreader = new jsonreader(new filereader("../resources/objectlocation.json")); 

both of these methods results in :

which results in:

java.io.filenotfoundexception: com/layers/resources/objectlocation.json (no such file or directory) 

file structure:

src  -com.layers -> myclasses  -resources -> json 

edit:

  inputstream input = getclass().getresourceasstream("objectlocation.json");   jsonreader jsonreader = new jsonreader(new inputstreamreader(input)); 

results in a:

java.lang.nullpointerexception 

not understanding difference between absolute , relative paths when loading resources in java via getresourceasstream() common source of errors leading nullpointerexception.

assuming following structure , content:

my project   |-src     |-main       |-java       | |-somepackage       |   |-someclass.java       |-resources         |-root.txt         |-somepackage           |-mydata.txt           |-somepackage2             |-mysubdata.txt 

content re-organized following in .jar:

|-root.txt   |-somepackage     |-someclass.java     |-mydata.txt     |-somepackage2       |-mysubdata.txt 

the following indicates works , not work retrieve resource data:

inputstream is; = someclass.class.getresourceasstream("root.txt"); // not ok  = someclass.class.getresourceasstream("/root.txt"); // ok  = someclass.class.getresourceasstream("/mydata.txt"); // not ok  = someclass.class.getresourceasstream("mydata.txt"); // ok  = someclass.class.getresourceasstream("/somepackage/mydata.txt"); // ok  = someclass.class.getresourceasstream("somepackage/mydata.txt"); // not ok  = someclass.class.getresourceasstream("mysubdata.txt"); // not ok  = someclass.class.getresourceasstream("somepackage/somepackage2/mysubdata.txt"); // ok  = someclass.class.getresourceasstream("/somepackage/somepackage2/mysubdata.txt"); // not ok  = someclass.class.getresourceasstream("/somepackage2/mysubdata.txt"); // not ok  = someclass.class.getresourceasstream("somepackage2/mysubdata.txt"); // ok 

getresourceasstream() operates relative package corresponding called class instance.


Comments

Popular posts from this blog

html - Firefox flex bug applied to buttons? -

html - Missing border-right in select on Firefox -

python - build a suggestions list using fuzzywuzzy -