- Java.util 包類
- Java.util - 首頁
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包額外內容
- Java.util - 介面
- Java.util - 異常
- Java.util - 列舉
- Java.util 有用資源
- Java.util - 有用資源
- Java.util - 討論
Java ResourceBundle.Control newBundle() 方法
描述
Java ResourceBundle.Control newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload) 方法使用給定的類載入器(如果需要)為給定格式和區域設定的給定捆綁名稱例項化資源捆綁。
如果對於給定的引數沒有可用的資源捆綁,則此方法返回null。如果由於意外錯誤而無法例項化資源捆綁,則必須透過丟擲 Error 或 Exception 來報告錯誤,而不僅僅是返回 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 返回 null
IllegalArgumentException − 如果格式未知,或者為給定引數找到的資源包含格式錯誤的資料。
ClassCastException − 如果載入的類無法轉換為 ResourceBundle
IllegalAccessException − 如果類或其無參建構函式不可訪問。
InstantiationException − 如果由於某種其他原因導致類的例項化失敗。
ExceptionInInitializerError − 如果此方法引發的初始化失敗。
SecurityException − 如果存在安全管理器並且拒絕建立新例項。
IOException − 如果在使用任何 I/O 操作讀取資源時發生錯誤
為美國區域設定建立新的資源捆綁名稱示例
以下示例顯示了 Java ResourceBundle.Control newBundle() 方法的使用來獲取資源捆綁。我們使用 getControl() 方法建立了使用 FORMAT_DEFAULT 的資源捆綁控制。然後使用美國區域設定的 newBundle() 方法使用 hello_en_US.properties 檔案建立資源捆綁,然後根據鍵列印值。
package com.tutorialspoint;
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!
為法語區域設定建立新的資源捆綁名稱示例
以下示例顯示了 Java ResourceBundle.Control newBundle() 方法的使用來獲取資源捆綁。我們使用 getControl() 方法建立了使用 FORMAT_DEFAULT 的資源捆綁控制。然後使用法語區域設定的 newBundle() 方法使用 hello_fr_FR.properties 檔案建立資源捆綁,然後根據鍵列印值。
package com.tutorialspoint;
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.FRANCE, "java.properties", cl, false);
System.out.println("" + a.getString("hello"));
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
輸出
假設我們在你的 CLASSPATH 中有一個名為hello_fr_FR.properties的資原始檔,其內容如下。此檔案將用作我們示例程式的輸入 -
hello = Bonjour le monde!
讓我們編譯並執行以上程式,這將產生以下結果 -
Bonjour le monde!
為德語區域設定建立新的資源捆綁名稱示例
以下示例顯示了 Java ResourceBundle.Control newBundle() 方法的使用來獲取資源捆綁。我們使用 getControl() 方法建立了使用 FORMAT_DEFAULT 的資源捆綁控制。然後使用德語區域設定的 newBundle() 方法使用 hello_de_DE.properties 檔案建立資源捆綁,然後根據鍵列印值。
package com.tutorialspoint;
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.GERMANY, "java.properties", cl, false);
System.out.println("" + a.getString("hello"));
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
輸出
假設我們在你的 CLASSPATH 中有一個名為hello_de_DE.properties的資原始檔,其內容如下。此檔案將用作我們示例程式的輸入 -
hello = Hallo Welt!
讓我們編譯並執行以上程式,這將產生以下結果 -
Hallo Welt!