读取jar包中的xml文件

时间:2010-03-31 12:22:06

标签: java xml file jar package

这是我的结构:

  • COM / myCompany的/ ValueReader.class
  • COM / myCompany的/资源/ values.xml

我可以在我的Eclipse项目中读取该文件,但是当我将它导出到.jar时,它永远找不到values.xml。

我尝试使用ValueReader.class.getResource()和ValueReader.class.getResourceAsStream()但它不起作用。

这里有什么问题? 如何将File-object获取到我的values.xml?

4 个答案:

答案 0 :(得分:8)

您无法获取File对象(因为它不再是.jar中的文件),但您应该可以通过getResourceAsStream(path);将其作为流来获取,其中{ {1}}是您班级的完整路径。

e.g。

path

答案 1 :(得分:2)

您无法获得该文件的File,因为它位于jar文件中。但是你可以得到一个输入流:

InputStream in = ValueReader.class.getResourceAsStream("resources/values.xml");

getResourceAsStreamgetResource将类的包转换为文件路径,然后添加参数。这将为路径/com/mycompany/resources/values.xml的文件提供流。

答案 2 :(得分:0)

这会有用......

Thread.currentThread().getContextClassLoader().getResource("com/mycompany/resources/values.xml")

答案 3 :(得分:-1)

你可以使用:

在相同的类路径中提取jar然后获取你想要的东西
    ZipInputStream zis = new ZipInputStream(new BufferedInputStream(new   
FileInputStream(zipfile.getCanonicalFile())));