- Java.util Package Classes
- Java.util - Home
- 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 Package Extras
- Java.util - Interfaces
- Java.util - Exceptions
- Java.util - Enumerations
- Java.util Useful Resources
- Java.util - Useful Resources
- Java.util - Discussion
Java ResourceBundle.Control newBundle() Method
Description
The Java ResourceBundle.Control newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload) method instantiates a resource bundle for the given bundle name of the given format and locale, using the given class loader if necessary.
This method returns null if there is no resource bundle available for the given parameters. If a resource bundle can't be instantiated due to an unexpected error, the error must be reported by throwing an Error or Exception rather than simply returning null.
Declaration
Following is the declaration for java.util.Control.newBundle() method
public ResourceBundle newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload)
Parameters
baseName − the base bundle name of the resource bundle, a fully qualified class name
locale − the locale for which the resource bundle should be instantiated
format − the resource bundle format to be loaded
loader − the resource bundle instance that has been expired in the cache
reload − the flag to indicate bundle reloading; true if reloading an expired resource bundle, false otherwise
Return Value
This method returns the resource bundle instance, or null if none could be found.
Exception
NullPointerException − if bundleName, locale, format, or loader is null, or if null is returned by toBundleName
IllegalArgumentException − if format is unknown, or if the resource found for the given parameters contains malformed data.
ClassCastException − if the loaded class cannot be cast to ResourceBundle
IllegalAccessException − if the class or its nullary constructor is not accessible.
InstantiationException − if the instantiation of a class fails for some other reason.
ExceptionInInitializerError − if the initialization provoked by this method fails.
SecurityException − If a security manager is present and creation of new instances is denied.
IOException − if an error occurred when reading resources using any I/O operations
Creating a New Resource Bundle Name for US Locale Example
The following example shows the usage of Java ResourceBundle.Control newBundle() method to get the resource bundle. We've created a resource bundle control with FORMAT_DEFAULT using getControl() method. Then resource bundle is created using newBundle() method of US locale with hello_en_US.properties file and then a value is printed based on a key.
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(); } } }
Output
Assuming we have a resource file hello_en_US.properties available in your CLASSPATH, with the following content. This file will be used as an input for our example program −
hello = Hello World!
Let us compile and run the above program, this will produce the following result −
Hello World!
Creating a New Resource Bundle Name for French Locale Example
The following example shows the usage of Java ResourceBundle.Control newBundle() method to get the resource bundle. We've created a resource bundle control with FORMAT_DEFAULT using getControl() method. Then resource bundle is created using newBundle() method of French locale with hello_fr_FR.properties file and then a value is printed based on a key.
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(); } } }
Output
Assuming we have a resource file hello_fr_FR.properties available in your CLASSPATH, with the following content. This file will be used as an input for our example program −
hello = Bonjour le monde!
Let us compile and run the above program, this will produce the following result −
Bonjour le monde!
Creating a New Resource Bundle Name for German Locale Example
The following example shows the usage of Java ResourceBundle.Control newBundle() method to get the resource bundle. We've created a resource bundle control with FORMAT_DEFAULT using getControl() method. Then resource bundle is created using newBundle() method of German locale with hello_de_DE.properties file and then a value is printed based on a key.
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(); } } }
Output
Assuming we have a resource file hello_de_DE.properties available in your CLASSPATH, with the following content. This file will be used as an input for our example program −
hello = Hallo Welt!
Let us compile and run the above program, this will produce the following result −
Hallo Welt!
To Continue Learning Please Login
Login with Google