Here's my structure:
I can read the file in my Eclipse project, but when I export it to a .jar it can never find the values.xml.
I tried using ValueReader.class.getResource() and ValueReader.class.getResourceAsStream() but it doesn't work.
What's the problem here? How do I get a File-object to my values.xml?
B.
You can't get a File
for the file because it's in a jar file. But you can get an input stream:
InputStream in = ValueReader.class.getResourceAsStream("resources/values.xml");
getResourceAsStream
and getResource
convert the package of the class to a file path, then add on the argument. This will give a stream for the file at path /com/mycompany/resources/values.xml
.
You can't get a File
object (since it's no longer a file once it's in the .jar), but you should be able to get it as a stream via getResourceAsStream(path);
, where path
is the complete path to your class.
e.g.
/com/mycompany/resources/values.xml
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With