使用ResourceBundle加载properties文件

@(JAVA)[java]

1、ResourceBundle介绍

说的简单点,这个类的作用就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。

使用这个类,要注意的一点是,这个properties文件的名字是有规范的,一般的命名规范是: *自定义名_语言代码_国别代码.properties,如果是默认的,直接写为:自定义名.properties

myres_en_US.properties
myres_zh_CN.properties
myres.properties

当在中文操作系统下,如果myres_zh_CN.properties、myres.properties两个文件都存在,则优先会使用myres_zh_CN.properties,当myres_zh_CN.properties不存在时候,会使用默认的myres.properties。

没有提供语言和地区的资源文件是系统默认的资源文件。
资源文件都必须是ISO-8859-1编码,因此,对于所有非西方语系的处理,都必须先将之转换为Java Unicode Escape格式。转换方法是通过JDK自带的工具native2ascii.

2、示例一:英文环境

1、准备properties文件:person.properties

name=lujinhong
age=30
gender=male

2、java代码

ResourceBundle rb = ResourceBundle.getBundle("person");
System.out.println(rb.getString("name") + "\t" + rb.getString("age") + "\t" +rb.getString("gender") );

输出如下:

lujinhong 30 male

3、示例二:中文环境

1、准备properties文件:person_zh_CN.properties

注意资源文件都必须是ISO-8859-1编码。

name=\u9646\u9526\u6D2A
age=30
gender=\u7537

2、java代码

Locale locale = new Locale("zh","CN");
ResourceBundle rb2 = ResourceBundle.getBundle("person2",locale);
System.out.println(rb2.getString("name") + "\t" + rb2.getString("age") + "\t" +rb2.getString("gender") );

输出如下:

陆锦洪 30 男

使用ResourceBundle加载properties文件相关推荐

  1. 使用单例模式加载properties文件

    使用单例模式加载properties文件 @(JAVA)[java] * 这里只是用于示范单例模式,更好的办法是使用java.util.ResourceBundle解释proerties文件.详见ja ...

  2. java加载properties文件的几种方式,java高级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  3. Spring加载properties文件的两种方式

    2019独角兽企业重金招聘Python工程师标准>>> 在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取pro ...

  4. 自动注入、加载 properties 文件、scope 属性、单例设计模式

    一.自动注入 在 Spring 配置文件中对象名和 ref="id"id 名相同使用自动注入,可以不配置<property/> 两种配置办法 2.1 在<bean ...

  5. spring配置中加载properties文件方法

    首先,遇到一个问题,spring配置中加载properties文件配置如下: <context:property-placeholder ignore-unresolvable="tr ...

  6. java不重启服务动态加载properties文件

    动态加载properties文件内容,不需要重启服务! 1 .Maven 工程,在resource下新建一个properties文件 target/classes/config.properties ...

  7. 【设计模式:单例模式】使用单例模式加载properties文件

    先准备测试程序: package org.jediael.util; import static org.junit.Assert.*; import org.junit.Test;public cl ...

  8. Java中加载properties文件的6种方法

    .使用java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream( ...

  9. spring加载properties文件顺序

    我们在使用spring是,在配置文件中经常需要使用到<context:property-placeholder location="" />标签.这样系统配置就能直接写 ...

最新文章

  1. hashmap为什么用红黑树_关于HashMap的实现,一篇文章带你彻底搞懂,再也不用担心被欺负
  2. 语言堆栈入门——堆和栈的区别
  3. linux 切换用户_Linux 用户态切换到内核态的 3 种方式
  4. MySQL-02:“数据库”操作基本命令及权限笔记
  5. testlink自带java api_java如何连接testlink
  6. 面向对象程序设计要考虑的7个原则
  7. python从列表中随机选择一个元素
  8. 今天中午的时候,可能是自己太忙过头了,所以出现了拿错卡去充值
  9. ACL2021 | OntoED:利用本体表示学习实现低资源的事件抽取
  10. 集腋成裘-13-git使用-02进阶篇
  11. Python基础15_装饰器
  12. python对象的相关术语
  13. 【捣鼓】TypeError: “x” is not a constructor
  14. 快速筛选打卡时间日期等数据:EXCEL筛选查找某一时间点是否在某一时间段内
  15. 第二篇数模论文——垂钓问题
  16. 消息推送技术干货:美团实时消息推送服务的技术演进之路
  17. Jquery鼠标滚轮放大缩小图片
  18. 【dva】dva使用与实现(三)
  19. linux的定时重启命令
  20. ChatGPT能取代多少程序员?

热门文章

  1. Leecode大厂热题100道系列题解
  2. 40行代码AC_HDU 1575 TrA 矩阵快速幂(附快速幂+矩阵快速幂的讲解)
  3. 一条SQL更新语句是如何执行的?
  4. 安装部署OpenStack(添加资源)
  5. 虚拟局域网Vlan与单臂路由、三层交换、链路聚合技术
  6. task文件服务器无法输入,Win10系统无法启动task scheduler服务的解决方法
  7. php 匹配正则,php正则匹配类
  8. java使用varargs,Java 实例 – Varargs 可变参数使用 - Java 基础教程
  9. java编程东西好多记不住_课程总结
  10. 按15分钟取数据_【数量技术宅|金融数据分析系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单...