我想在我的 Java 应用程序中消除对配置数据硬编码路径的依赖,我知道使用 ResourceBundle 将帮助我使用类加载器来查找资源。
有人能告诉我如何用适当使用 ResourceBundle 来替换资源的硬编码路径(比如类所需的 .properties 配置数据文件)吗?如果可能的话,简单清晰的例子,谢谢大家。
我想在我的 Java 应用程序中消除对配置数据硬编码路径的依赖,我知道使用 ResourceBundle 将帮助我使用类加载器来查找资源。
有人能告诉我如何用适当使用 ResourceBundle 来替换资源的硬编码路径(比如类所需的 .properties 配置数据文件)吗?如果可能的话,简单清晰的例子,谢谢大家。
您将需要检查Resource.getBundle(String)。您将类路径上的资源的完全限定名称传递给它以作为属性文件加载。
在 Java 6 之前,ResourceBundle 通常允许:
Java 6 附带了ResourceBundle.Control类,它为其他资源包打开了大门,例如:
希望这可以帮助。
您不需要 ResourceBundle。一个简单的 Properties 对象就可以完成这项工作。只需使用类加载器为您的属性文件获取输入流并使用它来加载 de 值。如果您需要处理更复杂的用户配置,请使用首选项 api。
亲切的问候
Resource.getBundle(..) 背后的技巧是使用类加载器。您可以通过 this.getClass().getClassLoader() 访问类路径中的所有内容。Resource.getBundle(..) 是在资源/定位主题中使用它的实用助手。