Java ResourceBundle clearCache() Method



Description

The Java ResourceBundle clearCache() method removes all resource bundles from the cache that have been loaded using the caller's class loader.

Declaration

Following is the declaration for java.util.ResourceBundle.clearCache() method

public static final void clearCache()

Parameters

NA

Return Value

This method does not return a value.

Exception

NA

Java ResourceBundle clearCache(ClassLoader loader) Method

Description

The Java ResourceBundle clearCache(ClassLoader loader) method removes all resource bundles from the cache that have been loaded using the given class loader.

Declaration

Following is the declaration for java.util.ResourceBundle.clearCache() method

public static final void clearCache(ClassLoader loader)

Parameters

loader − the class loader

Return Value

This method does not return a value.

Exception

NullPointerException − if loader is null

Clearing Cache of a Resource Bundle of US Locale

The following example shows the usage of Java ResourceBundle clearCache() method to remove resource bundles loaded from cache. We've created a resource bundle of US Locale for the corresponding hello_en_US.properties file. Then we printed the text assigned to key hello. In the end, cache is cleared.

package com.tutorialspoint;

import java.util.Locale;
import java.util.ResourceBundle;

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

      // create a new ResourceBundle with specified locale
      ResourceBundle bundle = ResourceBundle.getBundle("hello", Locale.US);

      // print the text assigned to key "hello"
      System.out.println(bundle.getString("hello"));

      // clear the cache
      System.out.println("Clearing Cache...");
      ResourceBundle.clearCache();
      System.out.println("Cache Cleared.");
   }
}

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!
Clearing Cache...
Cache Cleared.

Clearing Cache of a Resource Bundle of FRANCE Locale

The following example shows the usage of Java ResourceBundle clearCache(ClassLoader loader) method to remove resource bundles loaded from cache. We've created a resource bundle of French Locale for the corresponding hello_fr_FR.properties file. Then we printed the text assigned to key hello. In the end, cache is cleared.

package com.tutorialspoint;

import java.util.Locale;
import java.util.ResourceBundle;

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

      // create a new ResourceBundle with specified locale
      ResourceBundle bundle = ResourceBundle.getBundle("hello", Locale.FRANCE);

      // print the text assigned to key "hello"
      System.out.println(bundle.getString("hello"));

      // clear the cache by using system classloader
      ClassLoader cl = ClassLoader.getSystemClassLoader();
      System.out.println("Clearing Cache...");
      ResourceBundle.clearCache(cl);
      System.out.println("Cache Cleared.");
   }
}

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!
Clearing Cache...
Cache Cleared.

Clearing Cache of a Resource Bundle of GERMANY Locale

The following example shows the usage of Java ResourceBundle clearCache() method to remove resource bundles loaded from cache. We've created a resource bundle of German Locale for the corresponding hello_de_DE.properties file. Then we printed the text assigned to key hello. In the end, cache is cleared.

package com.tutorialspoint;

import java.util.Locale;
import java.util.ResourceBundle;

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

      // create a new ResourceBundle with specified locale
      ResourceBundle bundle = ResourceBundle.getBundle("hello", Locale.GERMANY);

      // print the text assigned to key "hello"
      System.out.println(bundle.getString("hello"));

      // clear the cache
      System.out.println("Clearing Cache...");
      ResourceBundle.clearCache();
      System.out.println("Cache Cleared.");
   }
}

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!
Clearing Cache...
Cache Cleared.
java_util_resourcebundle.htm
Advertisements