我需要类似的系统,ResourceBundles
只是我不会将其用于本地化。基本上,我需要存储多个版本的设置。该设置的一个版本是字符串到字符串映射,它可以由Properties
文件表示。这些设置版本必须很容易地保存到应用程序 .jar(类似 PropertyResourceBundle
)内的文件系统中。
这个想法是拥有不同版本的应用程序设置(设置配置文件),由字符串类型的键值对表示,可以在应用程序启动时根据用户决定进行选择。同样,这些不是语言版本,因此ResourceBundle
(根据其 javadoc)不是实现它的正确方法。
任何简单的方法如何在不实施整个想法的情况下做到这一点?请不要建议第三方它应该只使用 Java SE 类。
编辑:我忘了提到一个重要的细节。我很难像这样获得流:Thread.currentThread().getContextClassLoader().getResourceAsStream("/your/resource/here");
. 这是因为包含属性文件的项目是由 Ant 编译的,并在实际运行的不同 GUI 项目中用作动态加载的库。我可能在固定项目文件夹中拥有所有属性文件,但由于Thread.currentThread().getContextClassLoader()
返回 GUI 项目的上下文,我不知道该项目中的 .jar 与 Ant 放置的属性文件的位置我不知道该用作什么"/your/resource/here"
。