Java.util.ResourceBundle.Control.needs Reload() 方法

描述

java.util.ResourceBundle.Control.needsReload(String baseName, Locale locale, String format, ClassLoader loader, ResourceBundle bundle, long loadTime) 方法判断缓存中过期的bundle是否需要重新加载 根据 loadTime 或其他标准给出的加载时间。 如果需要重新加载,该方法返回 true; 否则为假。


声明

以下是 java.util.Control.needsReload() 方法的声明

public boolean needsReload(String baseName, Locale locale, String format, ClassLoader loader, ResourceBundle bundle, long loadTime)

参数

  • baseName − 资源包的基本包名,一个完全限定的类名

  • locale − 应为其实例化资源包的语言环境

  • format − 要加载的资源包格式

  • loader − 缓存中已过期的资源包实例

  • bundle − 应为其实例化资源包的语言环境

  • loadTime − bundle被加载并放入缓存的时间


返回值

true 如果过期的包需要重新加载; false 否则。


异常

NullPointerException − 如果 baseName、locale、format、loader 或 bundle 为 null


示例

下面的例子展示了 java.util.ResourceBundle.Control.needsReload() 方法的使用。

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

      ResourceBundle bundle = ResourceBundle.getBundle("hello", Locale.US);

      ClassLoader cl = ClassLoader.getSystemClassLoader();

      // print if the coontrol needs restart@marips
      long l = 2000000l;
      boolean x = rbc.needsReload("hello", Locale.US, "java.class", cl, bundle, 200);
      System.out.println("" + x);
   }
}

假设我们在您的 CLASSPATH 中有一个可用的资源文件 hello_en_US.properties,其内容如下。 该文件将用作我们示例程序的输入 −

hello = Hello World!

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

false