使用Java在.jar中打开并编辑文件?

时间:2011-01-08 00:32:32

标签: java xml class jar save

您打算如何打开.jar中的.xml文件并进行编辑?

我知道你可以做......

InputStream myStream = this.getClass().getResourceAsStream("xmlData.xml");

但是如何打开xmlData.xml,编辑文件并将其保存在.jar中?我觉得这很有用,但不想编辑.jar ... 之外的文件,应用程序需要一直运行!

谢谢!

2 个答案:

答案 0 :(得分:3)

Jar文件只是具有不同文件后缀的.zip文件,以及内容的命名约定。因此,请使用java.util.zip下的类来读取和/或写入内容。

无法保证(或甚至可能)修改内容以影响正在运行的系统,因为类加载器可以按其认为合适的方式缓存内容。

因此,了解更多关于您实际尝试实现的目标可能会更好。即时修改jar的内容听起来像复杂且容易出错的方法......

答案 1 :(得分:1)

如果你的应用程序。有一个GUI,你可以访问一个网站/服务器,JWS可能是答案。 JWS应用程序可用的JNLP API。提供诸如PersistenceService之类的服务。这是一个很小的demo. of the PersistenceService

这个想法是检查JWS持久性存储中的XML。如果不存在,请将其写入,否则使用缓存版本。如果更改,请将新版本写入商店。

演示。在关机时写入商店,并在启动时读取。但没有理由不能通过菜单项,计时器等来调用它。