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

java.util.Control.newBundle()方法实例

java.util.ResourceBundle.Control.newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload) 方法实例为给定的格式和语言环境的给定包名称的资源包,使用给定的类加载器,如果必要的。

如果没有可用的给定参数的资源包此方法返回null。如果一个资源包,不能因为未预期的错误实例化,必须通过抛出错误或异常,而不是简单地返回null报告错误。

声明

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

public ResourceBundle newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload)

参数

  • baseName -- 该资源包的基本包名称,完全限定类名

  • locale -- 对于该资源包应被实例化的语言环境

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

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

  • reload -- 该标志以表明束重新加载; true 如果重装一个过期的资源包,否则返回false

返回值

此方法返回的资源包实例,或者null,如果没有能找到。

异常

  • NullPointerException --如果bundleName, locale, format, 或 loader为null,或者空被toBundleName返回

  • IllegalArgumentException -- 如果格式是未知的,或者如果资源中找到给定参数包含异常数据。

  • ClassCastException -- 如果装载的类不能被强制转换为资源包

  • IllegalAccessException -- 如果类或它的无参构造函数是无法访问的。

  • InstantiationException -- 如果一个类的实例化失败,由于某些其他原因。

  • ExceptionInInitializerError -- 如果用这种方法引起的初始化失败。

  • SecurityException -- 如果安全管理器存在,并且创建新的实例被拒绝。

  • IOException -- 如果使用任何I/O操作读取资源时发生错误。

例子

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

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);
      ClassLoader cl = ClassLoader.getSystemClassLoader();

      // create a new bundle
      ResourceBundle a;
      try {
         a = rbc.newBundle("hello", Locale.US, "java.properties", cl, false);
         System.out.println("" + a.getString("hello"));
      } catch (Exception ex) {
         ex.printStackTrace();
      }

   }
}

假设在你的CLASSPATH中,资源文件hello_en_US.properties可用,包含以下内容。该文件将被用作输入到示例程序:

hello=Hello World!

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

Hello World!