`

ResourceBundle 与locale的使用

    博客分类:
  • J2SE
阅读更多

 

ResourceBundle 使用ResourceBundle 访问本地资源,在设计时,我们往往需要访问一些适合本地修改的配置信息,如果作为静态变量,那么每次修改都需要重新编译一个class.config 保存此类信息并不适合,这时我们需要ResourceBundle
  
通过ResourceBundle ,我们需要访问位于/WEB-INF/classes 目录下的一个后缀名为properties 的文本类型文件,从里面读取我们需要的值。

    Locale locale = Locale.getDefault();
    ResourceBundle localResource = ResourceBundle.getBundle("ConnResource", locale);
 
    String value = localResource.getString("test");
    System.out.println("ResourceBundle: " + value);

    这里对应了/WEB-INF/class/ConnResource.properties 文件内容为:

    test=hello world

    打印出来的结果就是hello world
   
   
请注意,这里我们可以利用LocaleResourceBundle 的这个组合创建国际化的java 程序。我们可以把locale 实例化为new Locale("zh","CN");

    通过ResourceBundle.getBundle("MessagesBundle",  locale);

    系统将自动寻找MessagesBundle_zh_CN ,即定义为中国大陆地区简体中文。如果没有该文件,则会依次寻找MessagesBundle_zhMessagesBundle ,直到找到为止。

import java.util.Locale;
import java.util.ResourceBundle;
public class LocaleTest {
 public static void main(String[] args)
 {
  Locale localeCN = new Locale("zh","CN");
  Locale localeJP = new Locale("co","JP");
   ResourceBundle localResourceCN = ResourceBundle.getBundle("ConnResource", localeCN);
   String valueCN = localResourceCN.getString("test");
   System.out.println("ResourceBundle: " + valueCN);
   
   ResourceBundle localResourceJP = ResourceBundle.getBundle("ConnResource", localeJP);
   String valueJP = localResourceJP.getString("test");
   System.out.println("ResourceBundle: " + valueJP);
 }
}

 

文件内容:
ConnResource_co_JP.properties
test=hello japan
ConnResource_zh_CN.properties
test=hello china

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Xml ResourceBundle简单实现

    本文将深入探讨Xml ResourceBundle的实现原理、优势以及如何在实际项目中使用。 首先,我们来理解什么是ResourceBundle。在Java中,ResourceBundle是一个接口,用于管理应用程序中的可配置资源,如字符串、图像或...

    ResourceBundle

    ResourceBundle Editor (eclipse-rbe)是一个用于编辑本地化的属性文件(localized properties files)。它让你通一个屏幕就能够同时管理所有相关联属性文件中的key/value信息。它所具有的功能包括:自动为Keys分类,...

    flex_locale.zip

    在Flex中,国际化主要是通过`ResourceBundle`类和`locale`属性来实现的。`ResourceBundle`是Flex提供的一套资源管理机制,它允许开发者将应用程序中的字符串、图像等可变资源与代码分离,便于根据不同地区创建不同的...

    信息绑定ResourceBundle

    本文将深入探讨“信息绑定ResourceBundle”这一主题,并结合提供的`conndb.properties`文件,介绍如何使用ResourceBundle进行资源配置。 首先,让我们了解什么是ResourceBundle。ResourceBundle是Java API中用于...

    ResourceBundle:资源包,包括图片源代码-源码包

    在这个名为 "ResourceBundle:资源包,包括图片源代码-源码包" 的压缩包中,我们很可能会找到一个名为 `ResourceBundle-master` 的项目,它可能包含了如何使用 `ResourceBundle` 类来管理和使用资源,特别是与图像...

    Java i18n的简单实现

    ResourceBundle bundle = ResourceBundle.getBundle("messages", locale); ``` 加载后,我们可以通过键来获取对应的值: ```java String greeting = bundle.getString("greeting"); ``` **4. 国际化日期和数字格式*...

    使用J2SE API读取Properties文件的六种方法

    ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault()); ``` 这个方法通常用于处理不同语言环境下的资源配置。 3. **使用java.util.PropertyResourceBundle类的构造函数** 如果你直接需要...

    javaweb 国际化:DateFormat,NumberFormat,MessageFormat,ResourceBundle的使用

    在国际化应用中,消息通常需要根据不同的地区显示不同的语言,因此MessageFormat与ResourceBundle结合使用可以非常方便地实现这一点。消息格式字符串中通过占位符来标识动态内容的位置,例如"Welcome, {0}!"中的{0}...

    ResourceBundle类在jsp中的国际化实现方法

    下面将详细介绍`ResourceBundle`类的使用以及在JSP中的具体实现方法。 ### 一、`ResourceBundle`类简介 `ResourceBundle`是Java的`java.util`包中的一个类,它提供了一种方式来存储和检索特定于语言环境的字符串和...

    java国际化中文乱码问题解决包

    4. **使用合适的locale**:确保选择正确的 `Locale` 对象,以加载相应语言版本的 `ResourceBundle`。例如,对于中国用户,可以使用 `Locale.CHINA` 或 `Locale.SIMPLIFIED_CHINESE`。 5. **处理输入输出流**:如果...

    JAVA基础

    ResourceBundle类则用于加载与特定Locale相对应的本地化资源文件。资源文件通常是properties格式,包含了软件界面中要显示的各种文本字符串。ResourceBundle类通过getBundle方法加载资源文件,它接受两个参数:资源...

    java国际化

    `ResourceBundle`会使用`Locale`对象来定位和加载正确的资源文件。 除了基本的`.properties`文件,Java还支持其他类型的资源包,如XML格式的`ResourceBundle`,这提供了更复杂的数据结构和注解功能。 在实际开发中...

    java实现国际化

    ResourceBundle bundle = ResourceBundle.getBundle("messages", locale); // 使用资源包中的字符串 String greeting = bundle.getString("greeting"); System.out.println(greeting); ``` 为了更好地支持国际化,...

    ResourceBundleEditor.rar

    ResourceBundle是Java平台中用于实现国际化的重要工具,它允许开发者将应用程序中的文本资源,如字符串、错误消息等,与特定的地区或语言相分离。ResourceBundleEditor则是专门用于管理和编辑ResourceBundle文件的...

    java 国际化转换

    #### 三、国际化资源文件的组织与使用 为了支持多语言环境,通常会创建一系列的属性文件(`.properties`文件),每个文件对应一种语言和地区。例如: - `MessagesBundle.properties` —— 默认的英文版本 - `...

    JAVA国际化

    4. **获取资源**:在Java代码中,可以使用`ResourceBundle.getBundle()`方法来加载指定Locale的ResourceBundle。这个方法会根据指定的基名(如`messages`)和当前Locale找到对应的`.properties`文件,然后返回一个...

    struts1.2 国际化

    - **加载资源**:可以通过 `ResourceBundle.getBundle(String baseName, Locale locale)` 方法加载与指定 `Locale` 相对应的资源包。 - **获取资源**:一旦 `ResourceBundle` 被加载,可以通过 `getString(String ...

    java实现国际化I18N简单实例,没用任何框架.zip

    ResourceBundle bundle = ResourceBundle.getBundle("messages", new Locale("de")); ``` 2. 获取值:通过键获取资源包中的值: ```java String greeting = bundle.getString("greeting"); ``` 3. 输出结果:...

Global site tag (gtag.js) - Google Analytics