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!