ResourceBundle.getBundle(String) in Java

ResourceBundle.getBundle(String): This method is available in java.util.ResourceBundle class of Java.

Syntax:

ResourceBundle java.util.ResourceBundle.getBundle(String baseName)

This method takes one argument. This method gets a resource bundle using the specified base name, the default locale, and the caller module.

Parameters: One parameter is required for this method.

baseName: the base name of the resource bundle, a fully qualified class name.

Returns: a resource bundle for the given base name and the default locale.

Throws:

1. NullPointerException - if baseName is null.

2. MissingResourceException - if no resource bundle for the specified base name can be found.

Note: Please create a Hello_en_US.properties in the class path with content

Hello = Hello World!

Approach 1: When no exception

Java

import java.util.ResourceBundle;

public class ResourceBundlegetBundle {
    public static void main(String[] args) {

        String baseName = "Hello";

        ResourceBundle bundle =
ResourceBundle.getBundle(baseName);
        System.out.println(bundle.getString(baseName));

    }
}

Output:

Hello Java Program



Approach 2: NullPointerException

Java

import java.util.ResourceBundle;

public class ResourceBundlegetBundle {
    public static void main(String[] args) {

        String baseName = null;

        ResourceBundle bundle =
ResourceBundle.getBundle(baseName);
        System.out.println(bundle.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:857)



Approach 3: MissingResourceException 

Java

import java.util.ResourceBundle;

public class ResourceBundlegetBundle {
    public static void main(String[] args) {

        String baseName = "hello";

        ResourceBundle bundle =
ResourceBundle.getBundle(baseName);
        System.out.println(bundle.getString(baseName));

    }
}

Output:

Exception in thread "main" java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key hello at java.base/java.util.ResourceBundle.getObject(ResourceBundle.java:564) at java.base/java.util.ResourceBundle.getString(ResourceBundle.java:521)


No comments:

Post a Comment