reading xml file inside a jar-package

17,637

Solution 1

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

Solution 2

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.

Share:
17,637
Admin
Author by

Admin

Updated on June 17, 2022

Comments

  • Admin
    Admin almost 2 years

    Here's my structure:

    • com/mycompany/ValueReader.class
    • com/mycompany/resources/values.xml

    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.