从jar读取xml文件的问题

时间:2011-01-17 11:56:58

标签: java xml

  

可能重复:
  file not found exception in jar

喜 我有一节课 而且我有一个文件 Document doc = db.parse(element.xml); 但是当我创建jar时它没有被加载, 所以请告诉我有没有其他方法给文件路径, 所以我可以运行我的罐子

5 个答案:

答案 0 :(得分:1)

db.parse(Foo.class.getResource("/com/ensarm/niidle/web/social/sites/sitelist.xml").toString());

其中Foo是您在其中编写此代码的类,该代码位于同一个jar中

答案 1 :(得分:1)

调用getResourceAsStream并从流中读取数据:

db.parse(Foo.class.getResourceAsStream("/com/ensarm/niidle/web/social/sites/sitelist.xml"));

您应该始终更喜欢使用流来读取数据,而不是期望存在特定文件。

答案 2 :(得分:1)

使用类加载器从类路径加载任何资源:

    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    InputStream input = classLoader.getResourceAsStream("/com/ensarm/niidle/web/social/sites/sitelist.xml");
    db.parse(input);

答案 3 :(得分:0)

User ClassLoader.getSystemResource(“root / src / com / ensarm / niidle / web / social / sites / sitelist.xml”)。getPath();指向xml或任何资源文件..

注意:您必须将xml文件位置添加到Classpath。 (-Djava.class.path =“C:\ project \ resources”)其中xml出现在C:\ project \ resources

答案 4 :(得分:0)

ClassLoader loadClass = Thread.currentThread().getContextClassLoader() ; 

InputStream in =  
new InputStreamReader(loadClass.getResourceAsStream("com/ensarm/niidle/web/social/sites/sitelist.xml") );