当前位置: 首页 > ai >正文

【Java】ResourceBundle 使用

ResourceBundle提供了一种本地化资源的机制。

大致原理:

提供不同语言或者不同国家的properties文件。

假设properties文件名为message,不同语言的文件名对应为:message_{language}_{country}.properties。

language以及country可以省略。如果全部省略,就是默认文件。

ResourceBundle提供了一个getBundle的静态方法,入参是properties文件的文件名和Local对象。

该方法会在classpath下寻找对应的本地化资源文件。

顺序:

优先查找后缀为language以及country的资源文件;

如果没有,查找后缀为language的资源文件;

如果没有,按照当前系统的Local实例变量查找对应的资源文件,比如我系统是中文,就按照Local("zh","CN")来找;

如果还没有,就使用默认资源文件。

public class BundleMain {public static void main(String args[]) {System.out.println(Locale.getDefault());ResourceBundle bundle = ResourceBundle.getBundle("message", Locale.getDefault());System.out.println(bundle.getString("key1"));bundle = ResourceBundle.getBundle("message", Locale.US);System.out.println(bundle.getString("key1"));bundle = ResourceBundle.getBundle("message", Locale.UK);System.out.println(bundle.getString("key1"));bundle = ResourceBundle.getBundle("message", Locale.FRANCE);System.out.println(bundle.getString("key1"));}
}

message.properties:

key1=defaultValue

message_en.properties:

key1=en_Value

message_en_US.properties:

key1=en_US_Value

当前系统的Local为:zh_CN

输出:

zh_CN
defaultValue
en_US_Value
en_Value
defaultValue

Process finished with exit code 0

如果提供了一个message_zh_CN.properties文件,那么之前查到message.properties文件的就变为message_zh_CN.properties文件的内容。

 

注意点:

getBundle方法传入的资源文件名不能带“.prop”

 

http://www.xdnf.cn/news/11391.html

相关文章:

  • 有关My97DatePicker日期插件的详细使用
  • csdn软件是干什么的?
  • 基于Booth算法的64位浮点乘法器的实现
  • 光纤专线与普通宽带区别(ASDL)
  • MP3中设置播放顺序的软件《闪存式MP3伴侣》
  • 玩转百度AI Studio 之 用“四十路泰坦”跑线性回
  • Oracle视图
  • 雷神加速器云顶之弈|PBE云顶S11赛季上线时间介绍
  • UltraEdit-32常用操作
  • 什么是Portlet
  • Samba使用LDAP对用户进行认证
  • javascript中onmousemove、onmouseover、onmouseenter 的不同
  • 出现RPC服务器不可用的解决方法
  • 关于Try catch问题与常见异常类型
  • Java8新特性之Nashorn
  • 实现光晕效果_摄影技巧:什么是“镜头光晕”,如何消除和善用光晕?
  • 什么是云呼叫中心?
  • Avisynth基础(一)
  • 最全GhostXP SP3系统安装方法(光盘安装|硬盘安装|U盘安装)详细图文教程
  • LDA与QDA
  • 什么是函数依赖?
  • .NET超简单轻量级的HTTP请求组件Flurl
  • 51使用LCD1602液晶显示(复习总结)
  • window.setInterval的用法与实例
  • Unix时间戳和北京时间的相互转换
  • 网络安全--安全攻防概述
  • VNN简介很好的网络软件工具
  • 【Linux 裸机篇(一)】ARM Cortex-A 架构基础、汇编基础
  • x86-64、amd64、arm、aarch64 都是些什么?
  • 设计模式——Proxy静态代理与动态代理