ResourceBundle.getBundle("baseName")的使用
来源:互联网 发布:stl格式是什么软件 编辑:程序博客网 时间:2024/05/23 07:24
在设计时,我们往往需要访问一些适合本地修改的配置信息,如果作为静态变量,那么每次修改都需要重新编译一个class,.config保存此类信息并不适合,这时我们需要ResourceBundle。 通过ResourceBundle,我们需要访问位于/WEB-INF/classes目录下的一个后缀名为properties的文本类型文件,从里面读取我们需要的值。
public static String getValueByKey(String propertyBaseName, String key) {Locale locale = Locale.getDefault(); ResourceBundle localResource = ResourceBundle.getBundle(propertyBaseName, locale); String value = localResource.getString(key); return value;}
使用:System.out.println(PropertyUtil.getValueByKey("propertyBaseName.properties","test"));
这里对应了/WEB-INF/class/propertyBaseName.properties文件内容为: test=hello world, 则打印出来的结果就是hello world。
请注意,这里我们可以利用Locale和ResourceBundle的这个组合创建国际化的java程序。我们可以把locale实例化为new Locale("zh","CN"); 通过ResourceBundle.getBundle("MessagesBundle", locale); 系统将自动寻找MessagesBundle_zh_CN,即定义为中国大陆地区简体中文。如果没有该文件,则会依次寻找MessagesBundle_zh,MessagesBundle,直到找到为止。
2、读取国际化文件
通过此类,可以使您所编写的程序可以:轻松地本地化或翻译成不同的语言; 一次处理多个语言环境;以后可以轻松地进行修改,支持更多的语言环境
说的简单点,这个类的作用就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。
message_zh_CN.properties
实例:定义三个资源文件,放到src的根目录下面(必须这样,或者你放到自己配置的calsspath下面。
1、myres.propertiesaaa=good bbb=thanks
2、myres_en_US.propertiesaaa=good bbb=thanks
3、myres_zh_CN.propertiesaaa=\u597d bbb=\u591a\u8c22
import java.util.Locale; import java.util.ResourceBundle; /** * 国际化资源绑定测试 * @author */ public class TestResourceBundle { public static void main(String[] args) { Locale locale1 = new Locale("zh", "CN"); ResourceBundle resb1 = ResourceBundle.getBundle("myres", locale1); System.out.println(resb1.getString("aaa")); ResourceBundle resb2 = ResourceBundle.getBundle("myres", Locale.getDefault()); System.out.println(resb1.getString("aaa")); Locale locale3 = new Locale("en", "US"); ResourceBundle resb3 = ResourceBundle.getBundle("myres", locale3); System.out.println(resb3.getString("aaa")); } }
好 好 good
3、认识Locale
Locale(String language, String country)
Locale(String language, String country, String variant)
- ResourceBundle.getBundle("baseName")的使用
- 关于使用ResourceBundle.getBundle(filename)
- ResourceBundle.getBundle("myresource")的意义
- ResourceBundle.getBundle("myresource")的意义
- ResourceBundle.getBundle("myresource")的意义
- ResourceBundle.getBundle
- ResourceBundle.getBundle读取资源文件的路径
- ResourceBundle.getBundle()属性文件的路径问题
- ResourceBundle.getBundle读取资源文件的路径
- ResourceBundle.getBundle("myresource")
- ResourceBundle.getBundle方法demo
- 使用Class.getResource(),ClassLoader.getResource(),ResourceBundle.getBundle ()进行资源定位
- ResourceBundle.getBundle("myresource") 读取不到资源
- ResourceBundle的使用
- ResourceBundle的使用
- ResourceBundle的使用
- JavaFX的ResourceBundle使用
- linux basename命令的使用
- kubenetes创建编排:yaml/json
- android studio 里面的sexy editor插件
- 灰帽子Python 学习记录 7 硬件断点INT1
- JSP和JavaBean测试
- 常用的正则表达式
- ResourceBundle.getBundle("baseName")的使用
- 获取用户位置ios8.0以上适配
- git开源库——视图控件——viewpager
- VPN虚拟化
- 隐马尔可夫模型(HMM) - 1 - 基本概念
- 代理模式 Proxy Design Pattern
- Linux,执行.sh文件,提示No such file or directory
- Bootstrap table 服务器端分页示例
- SQL编程:模糊表关联不求人 ---> concat + like就能行