ResourceBundle.getBundle(String, Locale, Control): This method is available in java.util.ResourceBundle class of Java.
Syntax:
ResourceBundle java.util.ResourceBundle.getBundle(String baseName, Locale targetLocale, Control control)
This method takes three arguments. This method returns a resource bundle using the specified base name, targetlocale and control, and the caller's class loader.
Parameters: Three parameters are required for this method.
baseName: the base name of the resource bundle, a fully qualified class name.
targetLocale: the locale for which a resource bundle is desired.
control: the control which gives information for the resource bundle loading process.
Returns: a resource bundle for the given base name and a Locale in locales.
Throws:
1. NullPointerException - if baseName, locales, or control is null.
2. MissingResourceException - if no resource bundle for the specified base name in any of the locales can be found.
3. IllegalArgumentException - if the given control doesn't perform properly.
4. UnsupportedOperationException - if this method is called in a named module.
Approach 1: When no exception
Java
import java.util.Locale;import java.util.ResourceBundle;import java.util.ResourceBundle.Control;public class ResourceBundlegetBundle7 {public static void main(String[] args) {String baseName = "Hello";ResourceBundle.Control rbc =ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT);System.out.println(ResourceBundle.getBundle(baseName,Locale.US, rbc).getString(baseName));}}
Output:
Hello Java Program
Approach 2: NullPointerException
Java
import java.util.Locale;import java.util.ResourceBundle;import java.util.ResourceBundle.Control;public class ResourceBundlegetBundle7 {public static void main(String[] args) {String baseName = null;ResourceBundle.Control rbc =ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT);System.out.println(ResourceBundle.getBundle(baseName,Locale.US, rbc).getString(baseName));}}
Output:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.hashCode()" because "this.name" is null at java.base/java.util.ResourceBundle$CacheKey.hashCode(ResourceBundle.java:744) at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1629) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1593) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1556) at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:1066)
Approach 3: MissingResourceException
Java
import java.util.Locale;import java.util.ResourceBundle;import java.util.ResourceBundle.Control;public class ResourceBundlegetBundle7 {public static void main(String[] args) {String baseName = "hello";ResourceBundle.Control rbc =ResourceBundle.Control.getControl(Control.FORMAT_CLASS);System.out.println(ResourceBundle.getBundle(baseName,Locale.US, rbc));}}
Output:
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name hello, locale en_US at java.base/java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:2055) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1689) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1593) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1556) at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:1066)
No comments:
Post a Comment