我怎么使用ResourceBundle避免硬编码配置的路径在Java应用程序?
-
03-07-2019 - |
题
我想要消除的依赖关系上写死路径的配置数据中我Java应用程序,我的理解是,使用ResourceBundle将帮助我使用这类装入器找到资源。
可以有人告诉我,我怎么会取代硬编码的道路资源(说。性能的配置数据的文件需要通过一类)与适当使用ResourceBundle?简单明显的例子,如果可能的话,感谢所有。
解决方案
前Java6,ResourceBundle通常允许的:
- 串从a组的局限性文件,使用 PropertyResourceBundle
- 对象,从一个集团的本地化的课程,使用 ListResourceBundle
Java6带来的 ResourceBundle.控制 类打开了大门,其他来源的ResourceBundles,例如:
- XML文件(参看例2中如果是的话,为什么不试)
- 数据库行
希望这会有所帮助。
其他提示
您需要检查 Resource.getBundle(String)。您将类路径上资源的完全限定名称传递给属性文件。
您不需要ResourceBundle。一个简单的Properties对象可以完成这项工作。只需使用类加载器为您的属性文件获取输入流,并使用它来加载de值。如果您需要处理更复杂的用户配置,请使用偏好api 。
亲切的问候
Resource.getBundle(..)背后的技巧是使用类加载器。您可以通过this.getClass()。getClassLoader()访问类路径中的所有内容。 Resource.getBundle(..)是在资源/位置化主题中使用它的实用助手。
不隶属于 StackOverflow