位置:首页 > Java技术 > Java.util包 > java.util.ResourceBundle.Control.needsReload()方法实例

java.util.ResourceBundle.Control.needsReload()方法实例

java.util.ResourceBundle.Control.needsReload(String baseName, Locale locale, String format, ClassLoader loader, ResourceBundle bundle, long loadTime) 方法确定是否需要在高速缓存中过期束根据loadTime或一些其它标准给出的加载时间来重新加载。如果需要重新加载该方法返回true;否则为false。

声明

以下是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 -- 当束被加载并放入缓存时间

返回值

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

异常

  • NullPointerException -- 如果 baseName, locale, format, loader, 或 bundle 为 null

例子

下面的示例演示java.util.ResourceBundle.Control.needsReload()方法的用法。

package com.yiibai;

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