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