ResourceBundle 工具类
- 工具类 Properties 能够读取资源文件,而当资源文件是以 .properties 结尾的文件时,可以使用 JDK 提供的另外一个工具类 ResourceBundle 来对文件进行读取,使得操作更加简单;
- Properties 是一个抽象类,我们可以使用它的子类 PropertyResourceBundle 来读取以 .properties 结尾的配置文件;
- java.util.ResourceBundle,详见:Class ResourceBundle;
1. ResourceBundle 类对象的创建
- 在 ResourceBundle 类中提供了一个静态方法,用于获得它的子类对象(抽象类不能创建对象):
// 使用指定的基本名称,默认语言环境和调用者的类加载器获取资源包。
static ResourceBundle getBundle(String baseName);
- .properties 配置文件需要放置在类的根路径 src 下面;
- 给定参数只需要配置文件的名称,不要扩展名;
import java.util.ResourceBundle;
public class Test {
public static void main(String[] args) {
//获得ResourceBundle类的对象
ResourceBundle bundle = ResourceBundle.getBundle("data");//父类引用指向子类对象(多态)
System.out.println(bundle);
}
}
/*
输出
java.util.PropertyResourceBundle@4dd8dc3
*/
2. ResourceBundle 读取配置文件操作
- ResourceBundle 类提供了一个 getString(String key) 方法用于读取配置文件中指定 key 的值:
//从此资源束或其父项之一获取给定密钥的字符串
String getString(String key)
import java.util.ResourceBundle;
public class Test {
public static void main(String[] args) {
//获得ResourceBundle类的对象
ResourceBundle bundle = ResourceBundle.getBundle("data");
System.out.println(bundle);
//读取指定key(username)的值
String username = bundle.getString("username");
System.out.println(username);
//读取指定key(password)的值
String password = bundle.getString("password");
System.out.println(password);
}
}
/*
输出
java.util.PropertyResourceBundle@214c265e
Regino
MyPassword
*/
推荐阅读:Java Properties 属性集合 >>>