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!