将某物保存到JAR文件中

3

我有一个Java应用程序,需要保存和加载用户设置。我想将它们保存在JAR文件中的一个文件中,我该如何实现这一点?


2
我想将它们保存在.jar文件中的一个文件中。 为什么要在每次用户首选项更新时更新jar文件? - jmj
我想集成用户特定设置,以便轻松共享我的应用程序的当前状态。它将是一个简单的文本文件,但不应该在文件系统中,而是在程序本身中。 - user_unknown
4个回答

6

1

这不是一个明智的行动。

JAR文件基本上只是一个ZIP文件。要重写它的内容,您需要完全提取它们,根据需要进行更改,然后将它们写入替换旧文件的新文件中。

如果执行此操作的程序与包含在JAR文件中的程序相同,则在执行期间该文件受到写保护,因此这变得不可能。

建议您将配置存储在其他地方。


1

正如其他人所说,那不是存储偏好设置的正确方式。

如果你必须这样做:

  1. 从代码中找到JAR文件的位置:如何获取正在运行的JAR文件的路径?

  2. 将内容解压缩到临时文件夹中

  3. 在临时文件夹中进行修改

  4. 将临时文件夹打包成新的JAR文件。


1
补充一下Kris所说的,大多数安全专家会告诉你,允许终端用户应用程序修改自己的代码通常是一个不好的安全实践。你所要求的就需要这样做。

很好,但他不想修改代码,他希望有一种获取新数据的方法,将其打包到可在Jar内引用的外部文件中,这是非常方便的事情。 - Gherbi Hicham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接