繁体   English   中英

在JAR中写入属性文件

[英]Writing to a properties file in a JAR

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

JAR文件已压缩,并不意味着可以随时更改,这意味着我应该写入外部文件。

我正在使用 :

new FileInputStream("database")

new FileOutputStream("database")

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

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

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

这行得通,但是我似乎无法创建输出流来写入同一文件,但这将违反即时更改JAR文件的规则。

有很多充分的理由使您不应该这样做,这是我的首要考虑:

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

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM