gpt4 book ai didi

java - 写入 JAR 中的属性文件

转载 作者:行者123 更新时间:2023-12-01 12:05:39 25 4
gpt4 key购买 nike

我正在创建一个将在 Windows、Mac OX 和 Linux 上运行的应用程序。我有一个属性文件,用于存储需要即时读取和更改的用户设置。

JAR 文件是压缩的,并不意味着可以动态更改,这意味着我应该写入外部文件。

我正在使用:

new FileInputStream("database")

new FileOutputStream("database")

如何创建一个在所有三个操作系统中保持一致的 URL。 JAR 作为桌面上的应用程序运行,我希望该文件存储在离散的位置。

我尝试从与此类相同的包中的本地文件中读取:

this.getClass().getResourceAsStream("database")

这可以工作,但是我似乎无法创建一个输出流来写入同一个文件,但这会打破动态更改 JAR 文件的规则。

最佳答案

我突然想到有很多理由不应该这样做:

  • GetResourceAsStream 不一定从 JAR 本身获取文件。您巧合地从那里获得了它,因为 Jar 是类路径中的第一个或唯一的元素。
  • 如果您要签署文件,则在自己的 Jar 中写入文件可能会破坏 JAR 签名。
  • 数据库可能需要备份;在这种情况下,您可能需要将其与代码分开备份(恢复数据库时可以升级代码)。

希望这有帮助。

关于java - 写入 JAR 中的属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27640942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com