如何使用ResourceBundle来避免Java应用程序中的硬编码配置路径?

时间:2008-09-30 20:02:48

标签: java config resourcebundle

我想消除Java应用程序中配置数据的硬编码路径的依赖关系,我知道使用ResourceBundle将帮助我使用类加载器来查找资源。

有人可以告诉我如何使用ResourceBundle替换资源的硬编码路径(比如一个类所需的.properties配置数据文件)吗?如果可能的话,简单明了的例子,谢谢大家。

4 个答案:

答案 0 :(得分:3)

您需要检查Resource.getBundle(String)。您将类路径上资源的完全限定名称传递给属性文件。

答案 1 :(得分:2)

在Java 6之前,ResourceBundle通常允许:

Java 6带有ResourceBundle.Control类,它打开了通往ResourceBundles其他源的大门,例如:

  • XML文件(参见Javadoc中的示例2)
  • 数据库行

希望这有帮助。

答案 2 :(得分:2)

您不需要ResourceBundle。一个简单的Properties对象可以完成这项工作。只需使用类加载器为您的属性文件获取输入流,并使用它来加载de值。如果您需要处理更复杂的用户配置,请使用preferences api

亲切的问候

答案 3 :(得分:0)

Resource.getBundle(..)背后的技巧是使用类加载器。您可以通过this.getClass()。getClassLoader()访问类路径中的所有内容。 Resource.getBundle(..)是在资源/位置化主题中使用它的实用助手。