`
你是救世主
  • 浏览: 123760 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用ResourceBundle

阅读更多

                                      
在程式中有很多字串訊息會被寫死在程式中,如果您想要改變某個字串訊息,您必須修改程式碼然後重新編譯,例如簡單的"Hello!World!"程式就是如此:


Hello.java
   package onlyfun.caterpillar;   public class Hello {        public static void main(String[] args) {            System.out.println("Hello!World!");        }   }

如果日後想要改變"Hello!World!"為"Hello!Java!",您就要修改程式並重新編譯。

對於日後可能變動的文字訊息,您可以考慮將訊息移至程式之外,方法是使用Java的java.util.ResourceBundle來作訊息綁定,首先您要先準備一個.properties,例如:


messages.properties
   onlyfun.caterpillar.welcome=Hello   onlyfun.caterpillar.name=World

.properties中撰寫的是key、value,之後在程式中您可以使用key來取得對應的value值,接著改寫Hello類別:

ResourceBundleDemo.java
   package onlyfun.caterpillar;   import java.util.ResourceBundle;   public class ResourceBundleDemo {       public static void main(String[] args) {           ResourceBundle resource =                      ResourceBundle.getBundle("messages");                   System.out.print(resource.getString(                         "onlyfun.caterpillar.welcome") + "!");           System.out.println(resource.getString(                         "onlyfun.caterpillar.name") + "!");       }   }

ResourceBundle的getBundle()方法會取得一個ResourceBundle的實例,所給定的參數名稱是訊息檔案的主檔名,取得 ResourceBundle實例後,可以使用getString()指定key值來取得value值,執行結果如下:
Hello!World!


如果您日後想要改變顯示的訊息,只要改變.properties的內容就可以了,例如可以改為:

messages.properties
   onlyfun.caterpillar.welcome=Oh   onlyfun.caterpillar.name=Java

則直接執行程式就會顯示新的訊息:
Oh!Java!

分享到:
评论

相关推荐

    国际化插件-ResourceBundle Editor

    在软件开发过程中,为了使应用能够适应不同语言和文化环境,开发者通常会使用ResourceBundle,这是一个Java类库,它允许程序将文本、错误消息和其他用户可见的字符串与特定的语言版本关联起来。ResourceBundle ...

    ResourceBundle与Properties读取maven中resources目录下的资源文件

    除了使用`Properties`类之外,还可以使用`ResourceBundle`类来读取资源文件。`ResourceBundle`提供了一种平台独立的方式访问区域设置特定的资源对象。 #### 1. 使用ResourceBundle读取资源文件 `ResourceBundle`...

    信息绑定ResourceBundle

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

    Xml ResourceBundle简单实现

    传统的ResourceBundle使用.properties文件存储资源,但XML格式提供了一种更结构化的表示方式,使得资源的组织和维护更加清晰。 Xml ResourceBundle的实现基于Java的`java.util.ResourceBundle`类和`java.util....

    ResourceBundleEditor_v0.7.7

    要在 MyEclipse 或者 Eclipse 中使用 ResourceBundle Editor ,我们首先要去官方网站下载 ResourceBundle Editor ,目前官方最新版是 ResourceBundleEditor_v0.7.7.zip(394.9 KB)。 Eclipse ResourceBundle ...

    Java国际化编程及其实现.rar

    2. **使用ResourceBundle**:在代码中,通过ResourceBundle.getBundle()方法,传入基名和Locale对象来获取对应语言的资源。 3. **格式化输出**:使用Format类的子类,如NumberFormat和DateFormat,来格式化数字和...

    java操作属性文件.pdf

    Java 提供了两种方式来操作属性文件,一种是使用 Properties 类,另一种是使用 ResourceBundle 类。 Properties 类是 Java 中的一个内置类,用于读取和写入属性文件。Properties 类提供了多种方法来读取和写入属性...

    Java i18n的简单实现

    在Java程序中,我们可以使用ResourceBundle的静态方法`getBundle()`来加载资源包。这个方法需要传入资源包的基础名称(例如“messages”)和当前的Locale对象。例如: ```java Locale locale = Locale.CHINA; // ...

    Flex实现国际化样例

    5. **ActionScript中的国际化**:在ActionScript代码中,我们可以使用`ResourceBundle.getBundle()`方法加载资源文件,然后通过`ResourceBundle.getString()`获取翻译文本。这样,代码就可以与特定语言的字符串资源...

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

    1. 加载资源包:使用 `ResourceBundle.getBundle()` 方法加载对应的资源包。传入 Locale 对象来指定语言环境,例如: ```java ResourceBundle bundle = ResourceBundle.getBundle("messages", new Locale("de")); ...

    java 获取properties的几种方式(csdn)————程序.pdf

    4. **使用ResourceBundle** 不仅限于Spring,Java本身也提供了`ResourceBundle`类来加载Properties文件。这通常用于本地化(i18n)目的,但也可以用于常规配置: ```java ResourceBundle bundle = ResourceBundle...

    javabeans开发使用手册

    - **国际化**:使用ResourceBundle支持多语言环境。 7. **资源** "中国IT认证实验室学习下载频道.txt"可能包含了更多关于JavaBeans的教程、资料或实践案例,建议查阅以获取更深入的理解。而"JavaBeans开发使用...

    多种方式读取Properties代码示例

    以下是一个使用ResourceBundle的例子: ```java import java.util.ResourceBundle; public class ResourceBundleExample { public static void main(String[] args) { ResourceBundle bundle = ResourceBundle....

    tomcat常见问题及解决方法

    第一种方法是使用 ResourceBundle,通过在 WEB-INF/classes 目录下或在 WEB-INF/lib 目录下的 jar 文件中放置属性文件,然后使用 ResourceBundle 类来加载该文件。第二种方法是使用 ServletContext 类中的 ...

    java国际化代码(jsp)

    3. **使用ResourceBundle**: `java.util.ResourceBundle`类用于加载和管理资源包。在JSP中,可以通过`ResourceBundle.getBundle()`方法获取对应的资源包,传入的参数是资源包的基名(通常是不带后缀的文件名)和...

    java读取properties六种方法

    2. **使用ResourceBundle** `ResourceBundle`通常用于本地化,但也可用于读取`.properties`文件。步骤如下: ```java ResourceBundle rb = ResourceBundle.getBundle("config"); String value = rb.getString(...

    properies使用

    对于更复杂的配置管理,可以使用`java.util.ResourceBundle`,它允许更灵活的文件定位和处理多种类型的资源,包括`properties`文件。 在实际项目中,`properties`文件常用于存储配置信息,如数据库连接参数、...

    JAVA基础

    最后,使用ResourceBundle类中的getString方法读取资源文件中的字符串,以显示在软件界面上。 文中提供的一个简单示例展示了如何在Java中实现国际化编程。示例程序中,用户可以选择简体中文或美国英语两种语言。...

    Java 加载配置文件的方式

    2. **使用ResourceBundle** `java.util.ResourceBundle`通常用于本地化,但也可以用来加载配置文件。这种方式适用于需要根据不同语言环境加载不同配置的情况: ```java ResourceBundle rb = ResourceBundle....

Global site tag (gtag.js) - Google Analytics