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


描述

所述java.util.ResourceBundle.Control.needsReload(String baseName, Locale locale, String format, ClassLoader loader, ResourceBundle bundle, long loadTime) 方法确定是否在高速缓存中过期束需要重新加载根据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并将其放入缓存的时间

返回值

如果需要重新加载过期的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