目录

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

描述 (Description)

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

如果没有可用于给定参数的资源束,则此方法返回null 。 如果由于意外错误而无法实例化资源包,则必须通过抛出错误或异常来报告错误,而不是简单地返回null。

声明 (Declaration)

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

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

参数 (Parameters)

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

  • locale - 应为其实例化资源包的语言环境

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

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

  • reload - 表示bundle重新reload的标志; 如果重新加载过期的资源包,则返回false否则返回false

返回值 (Return Value)

此方法返回资源包实例,如果找不到,则返回null

异常 (Exception)

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

  • IllegalArgumentException - 如果format未知,或者为给定参数找到的资源包含格式错误的数据。

  • ClassCastException - 如果加载的类无法强制转换为ResourceBundle

  • IllegalAccessException - 如果类或其无效构造函数不可访问。

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

  • ExceptionInInitializerError - 如果此方法引发的初始化失败。

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

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

例子 (Example)

以下示例显示了java.util.ResourceBundle.Control.newBundle()方法的用法。

package com.iowiki;
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!
↑回到顶部↑
WIKI教程 @2018