如何将文件添加到指定的嵌入式JAR资源

时间:2012-05-03 08:36:40

标签: java

我正在使用一些API,其中有一个类Reader,它有一个方法readXml(String path)

现在当我使用这种方法并给出一些在我的电脑中的路径

           Reader reader = new Reader();
           reader.readXml("C:\\work\\myfile.xml");

读取文件

总是错误的

在那里提到了API文档

      readXml(java.lang.String resourcePath) 
      Loads the orthography model, from the specified embedded JAR resource.

所以我需要将我的文件放在一些嵌入式jar资源中,如果是的话,这样做的方法然后从中读取

谢谢

1 个答案:

答案 0 :(得分:0)

措辞有点奇怪,但我认为文档的含义是资源路径是类加载器用来加载资源的路径。因此,不会在文件系统中搜索文件,而是在类路径中按照ClassLoader.getResource()中详细说明的规则搜索文件。

因此,应该可以从类路径访问XML文件。假设c:\work位于类路径中,因此资源路径应为"myfile.xml""/myfile.xml",具体取决于此方法的实现方式。如果c:\位于类路径中,则路径应为"work/myfile.xml""/work/myfile.xml"

如果这个库是一个通用的API并且设计得很好,它应该接受除资源路径之外的其他东西作为参数,比如java.io.Reader或java.io.InputStream。