Java.util.ResourceBundle.Control. getFallbackLocale() Method



The java.util.ResourceBundle.Control.getFallbackLocale(String baseName, Locale locale) method returns a Locale to be used as a fallback locale for further resource bundle searches by the ResourceBundle.getBundle factory method. This method is called from the factory method every time when no resulting resource bundle has been found for baseName and locale, where locale is either the parameter for ResourceBundle.getBundle or the previous fallback locale returned by this method.


Following is the declaration for java.util.Control.getFallbackLocale() method

public Locale getFallbackLocale(String baseName, Locale locale)


  • baseName − the base name of the resource bundle, a fully qualified class name for which ResourceBundle.getBundle has been unable to find any resource bundles (except for the base bundle)

  • locale − the Locale for which ResourceBundle.getBundle has been unable to find any resource bundles (except for the base bundle)

Return Value

This method returns a Locale for the fallback search, or null if no further fallback search is desired.


NullPointerException − if baseName or locale is null


The following example shows the usage of java.util.ResourceBundle.Control.getFallbackLocale() method.

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);

      // print fallback locale
      System.out.println("" + rbc.getFallbackLocale("hello", Locale.US));

Assuming we have a resource file 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 −