创建和可执行使用外部XML文件的JAR文件

时间:2013-05-13 14:48:24

标签: java file jar embedded-resource

我在Eclipse中有一个java应用程序,它使用像这样的eml文件

File matches = new File("matches.xml");

该文件与所有其他类一样位于默认包中。当我创建JAR时,它会在XML文件中捆绑它。我的应用程序要求我能够对XML文件进行更改。如何设置它以便JAR可以引用XML文件?

3 个答案:

答案 0 :(得分:1)

如果您使用的new File("matches.xml")根本不会使用jar文件中的文件。它只会查看外部文件系统。

如果您需要能够使用外部文件(如果存在),或者将jar文件中的版本作为后备文件,则需要测试该文件是否存在(File.exists())并使用{{ 1}}用于回退行为。

答案 1 :(得分:1)

  

我的应用程序要求我能够对XML文件进行更改。

然后,您需要从Jar中提取它并将其保存在本地文件系统的某个位置。

有关详细信息,请参阅How can an app use files inside the JAR for read and write?

答案 2 :(得分:0)

由于您希望将文件保留在jar外部并希望更新它以便jar可以读取,因此您可以将该文件放在jar所在的同一目录中,并使用以下代码访问该文件

FileInputStream file = new java.io.FileInputStream("matches.xml"); 

所以这可以是目录结构。

- matches\
    - matches.jar
    - matches.xml