ResourceBundle类用于存储区域设置敏感的文本和对象。 通常使用属性文件来存储特定于语言环境的文本,然后使用ResourceBundle对象来表示它们。 以下是在基于Java的应用程序中使用特定于语言环境的属性文件的步骤。

第1步:创建属性文件

假设我们需要英文语言环境的属性文件。创建属性文件名称为:XXX_en_US.properties,其中XXX是文件的名称,en_US表示英语(美国)的语言环境。

文件:Messages_en_US.properties -

message=Welcome to zyiz.net!

现在为法语区域设置创建属性文件。创建一个属性文件名称为:XXX_fr_FR.properties,其中XXX是文件的名称,fr_FR表示法语(法国)的语言环境。

文件:Messages_fr_FR.properties -

message=Bienvenue sur zyiz.net!

在这里可以看到键(message)是相同的,但是这个值在属性文件中是特定于语言环境的。

第2步:创建ResourceBundle对象

使用以下语法创建具有属性文件名和区域设置的ResourceBundle对象。

ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US);

第3步:从ResourceBundle对象获取值。

通过传递键,然后从ResourceBundle对象获取值。

String value = bundle.getString("message");

示例

以下示例说明如何使用ResourceBundle对象来显示来自属性文件的特定于区域的值。

文件:IOTester.java -

import java.util.Locale;

import java.util.ResourceBundle;

public class I18NTester {

public static void main(String[] args) {

ResourceBundle bundle = ResourceBundle.getBundle("Messages", Locale.US);

System.out.println("Message in "+Locale.US +": "+bundle.getString("message"));

bundle = ResourceBundle.getBundle("Messages", Locale.FRANCE);

System.out.println("Message in "+Locale.FRANCE +": "+bundle.getString("message"));

}

}

它会打印下面的结果 -

Message in en_US: Welcome to zyiz.net!

Message in fr_FR: Bienvenue sur zyiz.net!

命名约定注意事项

以下是属性文件的命名约定。

对于映射到默认语言环境的属性文件,不需要前缀。 message_en_US.properties等同于message.properties。

对于映射到语言环境的属性文件,可以通过两种方式附加前缀。 message_fr.properties等同于message_fr_FR.properties。

java国际化程序创建属性文件_Java国际化(i18n)ResourceBundle类相关推荐

  1. java国际化程序创建属性文件,Java程序国际化学习代码一

    Java程序国际化初识 1.基本思路 Java程序的国际化的思路是将程序中的标签.提示等信息放在资源文件中,程序需要支持哪些国家.语言环境,就对应提供相应的资源文件.资源文件是key-value对,每 ...

  2. java用输入流创建数据文件_Java实现文件写入——输入输出流(IO流)

    输入输出含义和意义: 输入和输出功能是Java对程序处理数据能力的提高,java以流的形式处理数据. 流是一组有序的数据序列,根据操作类型,分为输入流和输出流. 程序从输入流读取数据,向输出流写入数据 ...

  3. java用输入流创建数据文件_java开发知识IO知识之输入输出流以及文件

    java开发知识IO知识之输入输出流以及文件 一丶流概述 流十一组有序的数据序列.根据操作的类型,可以分为输入流跟输出流两种. IO(input/output)输入/输出流提供了一条通道程序.可以使用 ...

  4. java在src创建entity文件_java自动生成entity文件

    private String packagePath = "com.qy.entity"; //指定实体生成所在包的路径//表名以","分隔;若为"* ...

  5. java国际化bundle_Java国际化(i18n)ResourceBundle类

    ResourceBundle类用于存储区域设置敏感的文本和对象. 通常使用属性文件来存储特定于语言环境的文本,然后使用ResourceBundle对象来表示它们. 以下是在基于Java的应用程序中使用 ...

  6. 按要求编写一个Java应用程序:(1)编写一个矩形类Rect,包含:两个属性...2、定义一个接口Shape,包括计算图形面积(getArea)和周长(getcir)...

    1.按要求编写一个Java应用程序: (1)编写一个矩形类Rect,包含:两个属性:矩形的宽width和高height:一个带有两个参数的构造方法,用于将width和height属性初化:两个方法:求 ...

  7. java web删除文件_Web开发为了java端程序能删除文件的解决办法

    Web开发为了java端程序能删除文件,必须在.../jre/lib/security/java.policy文件中添加以下两个中的任何一段代码进去. 注:必须是服务器的本地文件,局域网内的其他机器文 ...

  8. Java中如何创建一个文件或者文件夹

    Java中如何创建一个文件或者文件夹 创建一个文件夹: 调用Java中File类中的mkdir( )或者mkdirs( )方法 boolean  makdir( ):创建一个文件夹,创建成功返回tru ...

  9. java 创建新文件_Java创建新文件

    创建文件是一种非常常见的IO操作,在这一小节中我们将学习如何在java中创建文件的几个方法. 在java中创建文件有三种流行的方法,下面将一个一个地来学习. 方法一:使用File.createNewF ...

最新文章

  1. Swift 可选类型(补充)
  2. linux中使用u盘和光驱的命令_Linux文件操作高频使用命令
  3. 前端跨域请求get_前端跨域请求jsonp实现
  4. 计算机自动关闭硬盘,你遇到过电脑硬盘自动关闭的问题吗?
  5. 视频会议十大开源编解码项目排行
  6. pandas groupby count_数据分析14-利用pandas进行数据分组
  7. php在类方法里面检测错误,是否有任何PHP静态分析器可以检测不存在的类方法调用?...
  8. 《1024伐木累》-小白篇之需求-总章节八
  9. 吴恩达神经网络和深度学习-学习笔记-12-RMSprop算法
  10. Python3.0 我的DailyReport 脚本(四)发送日报
  11. 华为交换机做qos案例_华为交换机 01-08 QoS
  12. 黑马python培训靠谱吗-黑马程序员的Python怎么样?
  13. 钉钉企业邮箱smtp服务器
  14. 系统设计开发模式思考
  15. oracle dul for windows 一键打开,oracle 数据恢复
  16. arduino uno+驱动器控制42步进电机
  17. 反燃油车占位方案:AI识别+EasyCVR解决燃油车占位问题
  18. CSS中的圆角与倒角
  19. git密码重置后如何登录
  20. 深度学习基础:SVD奇异值分解及其意义【转】

热门文章

  1. android8.1 audio hal关键结构分析(二十五)
  2. jni数组使用(二)
  3. IOS硬件解码VTDecompressionSession失效
  4. tensorflow之reshape
  5. netcore之判断系统
  6. VALSE学习(十三):网络结构搜索提速方法和训练技巧-NAS
  7. java的dicon文件_配置文件参考
  8. vant在cell中加表格_在vant 中使用cell组件 定义图标该图片和位置操作
  9. python 标量_标量 | NumPy 中文
  10. 记录一次被DDOS攻击,攻击类型:UDPFLOOD