位置:首頁 > Java技術 > Java.util包 > java.util.Control.newBundle()方法實例

java.util.Control.newBundle()方法實例

java.util.ResourceBundle.Control.newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload) 方法實例為給定的格式和語言環境的給定包名稱的資源包,使用給定的類加載器,如果必要的。

如果冇有可用的給定參數的資源包此方法返回null。如果一個資源包,不能因為未預期的錯誤實例化,必須通過拋出錯誤或異常,而不是簡單地返回null報告錯誤。

聲明

以下是java.util.Control.newBundle()方法的聲明

public ResourceBundle newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload)

參數

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

  • locale -- 對於該資源包應被實例化的語言環境

  • format -- 要加載的資源包格式

  • loader -- 已過期的緩存資源包實例

  • reload -- 該標誌以表明束重新加載; true 如果重裝一個過期的資源包,否則返回false

返回值

此方法返回的資源包實例,或者null,如果冇有能找到。

異常

  • NullPointerException --如果bundleName, locale, format, 或 loader為null,或者空被toBundleName返回

  • IllegalArgumentException -- 如果格式是未知的,或者如果資源中找到給定參數包含異常數據。

  • ClassCastException -- 如果裝載的類不能被強製轉換為資源包

  • IllegalAccessException -- 如果類或它的無參構造函數是無法訪問的。

  • InstantiationException -- 如果一個類的實例化失敗,由於某些其他原因。

  • ExceptionInInitializerError -- 如果用這種方法引起的初始化失敗。

  • SecurityException -- 如果安全管理器存在,並且創建新的實例被拒絕。

  • IOException -- 如果使用任何I/O操作讀取資源時發生錯誤。

例子

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

package com.yiibai;

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

public class ResourceBundleControlDemo {

   public static void main(String[] args) {

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

      // create a new bundle
      ResourceBundle a;
      try {
         a = rbc.newBundle("hello", Locale.US, "java.properties", cl, false);
         System.out.println("" + a.getString("hello"));
      } catch (Exception ex) {
         ex.printStackTrace();
      }

   }
}

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

hello=Hello World!

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

Hello World!