【发布时间】:2020-05-21 12:34:42
【问题描述】:
我目前正在使用 java 类 Preferences 来维护我们的 java 应用程序内部的偏好。它很简单,目前只包含 2 个键/值对。该项目的一些高层要求将preferences.xml 文件保留在JAR 中,以使其干净运行,因此所有内容都将包含在JAR 中(用户不需要能够访问此文件)。
我知道首选项有一个使用 InputStream 的导入和一个使用 OutputStream 的导出。无论如何使用 outputStream 编辑 jar 内的文件?
【问题讨论】:
-
这能回答你的问题吗? Self exploding and rejaring jar file during execution(你可能更喜欢不被接受的答案,你可能应该遵循接受的答案)
-
我建议在您的 jar 中放置一个默认配置文件,当您还没有配置文件时,您可以为用户安装该文件。仅使用 jar 运行应用程序仍然是可能的,它让每个用户都有自己的偏好,并且如果多个用户在多用户计算机上使用相同的 .jar,它仍然可以工作
-
正确的方法——以及所有多平台应用程序都在这样做——是将默认值存储在 .jar 文件中,并使用文件系统中的某个已知位置,位于用户的主目录,用于存储任何更改。如果该文件不存在,您应该通过复制存储在 .jar 中的默认值来创建它。 (请注意,Preferences 类在 Windows 中不使用preferences.xml 文件,除非您export 首选项。)
标签: java eclipse jar preferences fileoutputstream