1.通过IO流的方式加载
可以加载任意路径下的文件,需要注意文件的路径
核心方法
load(InputStream inStream) 从字节输入流中读取键值对
方法:
setProperty(String key, String value) 存储一对数据,只是存储到了当前properties对象中,并没有存到文件中
getProperty(String key) 根据key获取值
stringPropertyNames() 获取所有的键,存入set集合
演示:
//获取properties集合对象
Properties pro = new Properties();
//调用load方法结合字节流读取配置文件并存入properties集合中
pro.load(new FileInputStream("Demo\\src\\pro.properties"));
//获取文件中所有的键
Set<String> keys = pro.stringPropertyNames();
//遍历所有的内容
for (String s : keys){
System.out.println(s + "=" + pro.getProperty(s));
}
2.通过类加载器的方式加载
GetProperties是类名
该方式只能读取类路径下的配置文件
演示:
//获取properties集合对象
Properties pro = new Properties();
//通过ClassLoader中的getResourceAsStream将配置文件读取到字节流中
InputStream is = GetProperties.class.getClassLoader().getResourceAsStream("pro.properties");
//将文件内容存入properties集合中
pro.load(is);
//获取文件中所有的键
Set<String> keys = pro.stringPropertyNames();
//遍历所有的内容
for (String s : keys){
System.out.println(s + "=" + pro.getProperty(s));
}
3.通过ResourceBundle方式加载
局限性:只能加载src下,以properties结尾的文件
但是它的操作比较方便,不需要写文件路径和文件后缀名
方法:
static getBundle() 返回一个ResourceBundle对象
getString(String key) 根据key获取值
containsKey(String key) 判断是否包含指定的key值
getBaseBundleName() 获取文件名
keySet() 返回所有的键,并存入set集合
演示:
//获取ResourceBundle对象
ResourceBundle pro = ResourceBundle.getBundle("pro");
//获取文件中所有的键
Set<String> keys = pro.keySet();
//遍历所有的内容
for (String s : keys){
System.out.println(s + "=" + pro.getString(s));
}
文件位置:演示以上三种方式,我把配置文件都放在了 src 路径下
三种方式,输出结果都是一样的,希望可以帮到你,对您有帮助的话就点个赞吧!。