Java ResourceBundle clearCache() 方法



描述

Java ResourceBundle clearCache() 方法会移除使用调用方类加载器加载的所有资源包。

声明

以下是java.util.ResourceBundle.clearCache() 方法的声明

public static final void clearCache()

参数

返回值

此方法不返回值。

异常

Java ResourceBundle clearCache(ClassLoader loader) 方法

描述

Java ResourceBundle clearCache(ClassLoader loader) 方法会移除使用给定类加载器加载的所有资源包。

声明

以下是java.util.ResourceBundle.clearCache() 方法的声明

public static final void clearCache(ClassLoader loader)

参数

loader − 类加载器

返回值

此方法不返回值。

异常

NullPointerException − 如果 loader 为null

清除美国区域设置的资源包缓存

以下示例演示了如何使用 Java ResourceBundle clearCache() 方法移除从缓存中加载的资源包。我们创建了一个对应于 hello_en_US.properties 文件的美国区域设置的资源包。然后我们打印分配给键 hello 的文本。最后,缓存被清除。

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.");
   }
}

输出

假设你的 CLASSPATH 中有一个名为hello_en_US.properties 的资源文件,内容如下。此文件将用作我们示例程序的输入。

hello = Hello World!

让我们编译并运行上述程序,这将产生以下结果:

Hello World!
Clearing Cache...
Cache Cleared.

清除法国区域设置的资源包缓存

以下示例演示了如何使用 Java ResourceBundle clearCache(ClassLoader loader) 方法移除从缓存中加载的资源包。我们创建了一个对应于 hello_fr_FR.properties 文件的法国区域设置的资源包。然后我们打印分配给键 hello 的文本。最后,缓存被清除。

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.");
   }
}

输出

假设你的 CLASSPATH 中有一个名为hello_fr_FR.properties 的资源文件,内容如下。此文件将用作我们示例程序的输入。

hello = Bonjour le monde!

让我们编译并运行上述程序,这将产生以下结果:

Bonjour le monde!
Clearing Cache...
Cache Cleared.

清除德国区域设置的资源包缓存

以下示例演示了如何使用 Java ResourceBundle clearCache() 方法移除从缓存中加载的资源包。我们创建了一个对应于 hello_de_DE.properties 文件的德国区域设置的资源包。然后我们打印分配给键 hello 的文本。最后,缓存被清除。

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.");
   }
}

输出

假设你的 CLASSPATH 中有一个名为hello_de_DE.properties 的资源文件,内容如下。此文件将用作我们示例程序的输入。

hello = Hallo Welt!

让我们编译并运行上述程序,这将产生以下结果:

Hallo Welt!
Clearing Cache...
Cache Cleared.
java_util_resourcebundle.htm
广告