Java.util.ResourceBundle.getBundle() 方法
描述
java.util.ResourceBundle.getBundle(String baseName,Locale targetLocale,ClassLoader loader,ResourceBundle.Control control) 方法使用指定的基本名称、目标语言环境、类加载器和控件返回资源包。 与没有控制参数的 getBundle 工厂方法不同,给定的控制指定如何定位和实例化资源包。
声明
以下是 java.util.ResourceBundle.getBundle() 方法的声明
public static ResourceBundle getBundle(String baseName,Locale targetLocale,ClassLoader loader,ResourceBundle.Control control)
参数
baseName − 资源包的基本名称,完全限定的类名
locale − 需要资源包的语言环境
loader − 加载资源包的类加载器
control − 为资源包加载过程提供信息的控件
返回值
此方法返回给定基本名称和语言环境的资源包
异常
NullPointerException − 如果 baseName,locale,loader orcontrol 为 null
MissingResourceException − 如果找不到指定基本名称的资源包
IllegalArgumentException − 如果给定的控件没有正确执行(例如,control.getCandidateLocales 返回 null。)请注意,控件的验证是根据需要执行的。
示例
下面的例子展示了 java.util.ResourceBundle.getBundle() 方法的使用。
package com.tutorialspoint; import java.util.Locale; import java.util.ResourceBundle; import java.util.ResourceBundle.Control; public class ResourceBundleDemo { public static void main(String[] args) { ClassLoader cl = ClassLoader.getSystemClassLoader(); // create a new ResourceBundle.Control with default format ResourceBundle.Control rbc = ResourceBundle.Control.getControl(Control.FORMAT_DEFAULT); // create a new ResourceBundle with specified locale // and SystemClassLoader and a Control ResourceBundle bundle = ResourceBundle.getBundle("hello", Locale.US, cl, rbc); // print the text assigned to key "hello" System.out.println("" + bundle.getString("hello")); } }
假设我们在您的 CLASSPATH 中有一个可用的资源文件 hello_en_US.properties,其内容如下。 该文件将用作我们示例程序的输入 −
hello = Hello World!
让我们编译并运行上面的程序,这将产生以下结果 −
Hello World!