位置:首頁 > 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