1

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

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

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

4

3 回答 3

1

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

如果您需要能够使用存在的外部文件,或者 jar 文件中的版本作为后备,您需要测试文件的存在 ( File.exists()) 并Class.getResourceAsStream("matches.xml")用于后备行为。

于 2013-05-13T14:51:12.860 回答
1

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

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

请参阅应用程序如何使用 JAR 中的文件进行读写?更多细节。

于 2013-05-13T14:53:15.710 回答
0

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

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

所以这可以是目录结构。

- matches\
    - matches.jar
    - matches.xml
于 2013-05-13T14:56:07.287 回答