Bryan schrieb:
I'm wondering if it's possible to directly access files in a JAR. For
example, I have a JAR called foo.jar, and inside that JAR is a package
called my.foo.package. Within that package, I have an XML file that I
need to be able to parse. Before sticking the package in a JAR, I
could simply do something like:
parser.parse("src/my/foo/package/bar.xml")
Is there a way to do something similar to this when the XML file is
inside a JAR?
Because you have also packages and class files in your jar file, I
assume the jar file is part of your classpath.
Then you can use the classloader to get your XML file:
URL url = getClass().getResource("/my/foo/package/bar.xml");
System.out.println("url = " + url);
if (url == null)
throw ...;
parser.parse(url.toString());
To understand why this should work, there are some API docs to be read:
Class#getResource, URL, Parser#parse
You can also use getResourceAsStream().