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