位置:首頁 > Java技術 > Java.util包 > java.util.ResourceBundle.getBundle(String baseName,Locale targetLocale,ClassLoader loader,ResourceBundle.Control control)方法實例

java.util.ResourceBundle.getBundle(String baseName,Locale targetLocale,ClassLoader loader,ResourceBundle.Control control)方法實例

java.util.ResourceBundle.getBundle(String baseName,Locale targetLocale,ClassLoader loader,ResourceBundle.Control control) 方法返回使用指定的基本名稱,目標語言環境,類加載器和控件返回資源包。不像 getBundle 工廠方法不帶參數的控製,給定控製指定如何定位和實例化資源包。

聲明

以下是java.util.ResourceBundle.getBundle()方法的聲明

public static ResourceBundle getBundle(String baseName,Locale targetLocale,ClassLoader loader,ResourceBundle.Control control)

參數

  • baseName -- 資源包,一個完全限定類名的基本名稱

  • locale -- 對於這一個資源包所需的語言環境

  • loader -- 從中加載資源包的類加載器

  • control -- 這給信息為資源包加載進程的控製

返回值

此方法返回給定基本名稱和語言環境的資源包

異常

  • NullPointerException -- 如果 baseName,locale,loader orcontrol 為 null

  • MissingResourceException -- 如果可以找到指定的基冇有相應的資源包

  • IllegalArgumentException -- 如果給定的控件不正確執行(例如,control.getCandidateLocales返回null)請注意,control驗證是根據需要執行。

例子

下麵的示例演示java.util.ResourceBundle.getBundle()方法的用法。

package com.yiibai;

import java.util.Locale;
import java.util.ResourceBundle;
import java.util.ResourceBundle.Control;

public class ResourceBundleDemo {

   public static void main(String[] args) {

      ClassLoader cl = ClassLoader.getSystemClassLoader();

      // create a new ResourceBundle.Control with default format
      ResourceBundle.Control rbc =
              ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT);

      // create a new ResourceBundle with specified locale
      // and SystemClassLoader and a Control
      ResourceBundle bundle =
              ResourceBundle.getBundle("hello", Locale.US, cl, rbc);

      // print the text assigned to key "hello"
      System.out.println("" + bundle.getString("hello"));

   }
}

假設在你的CLASSPATH中的資源文件hello_en_US.properties可用,包含以下內容。該文件將被用作輸入到示例程序:

hello=Hello World!

讓我們來編譯和運行上麵的程序,這將產生以下結果:

Hello World!