【问题标题】:Save something into JAR保存一些东西到 JAR
【发布时间】:2011-05-17 09:12:04
【问题描述】:

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

【问题讨论】:

  • 我想将它们保存在 .jar 中的文件中 为什么要在每个用户 pref update 时更新 jar 文件?
  • 我想整合用户特定的设置来轻松分享我的应用的当前状态。这将是一个简单的文本文件,但它不应该在文件系统的某个地方,而应该在程序本身中。

标签: java serialization jar settings save


【解决方案1】:

补充一下 Kris 所说的话,大多数安全专家会告诉您,允许最终用户应用程序修改自己的代码通常是一种糟糕的安全做法。你所要求的将需要那个。

【讨论】:

  • 很好,但他不想修改代码,他想要一种方法将新数据获取到可以在 Jar 中引用的打包外部文件,这是一件非常方便的事情。
【解决方案2】:

这不是其他人所说的存储偏好的方式。

如果您必须这样做,那么:

  1. 从代码中找到 JAR:How to get the path of a running JAR file?

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

  3. 在临时文件夹中修改

  4. Jar 临时文件夹到新的 JAR 文件。

【讨论】:

    【解决方案3】:

    这不是一个明智的做法。

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

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

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

    【讨论】:

      【解决方案4】:

      这是不可能的。而是考虑使用专为此目的而设计的java.util.prefs.Preferences。另见this little guide

      【讨论】:

        猜你喜欢
        • 2014-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多