一、概念
java.util.Properties 继承于Hashtable ,来表示一个持久的属性集。它使用键值结构存储数据,每个键及其对应值都是一个字符串。该类也被许多Java类使用,比如获取系统属性时,System.getProperties 方法就是返回一个Properties对象。
二、基本方法
2.1常用方法
2.1.1示例
- public Object setProperty(String key, String value) : 保存一对属性。
- public String getProperty(String key) :使用此属性列表中指定的键搜索属性值。
- public Set stringPropertyNames() :所有键的名称的集合。
package com.william;
import java.util.Properties;
import java.util.Set;
public class TestProperties {
public static void main(String[] args) {
Properties properties = new Properties();
properties.setProperty("name","william");
properties.setProperty("email","william@foxmial.com");
properties.setProperty("address","beijing");
String name = properties.getProperty("name");
System.out.println(name);
Set<String> keys = properties.stringPropertyNames();
for (String key : keys) {
String property = properties.getProperty(key);
System.out.println(key+"= " + property);
}
}
}
2.1.2输出结果:
william
address= beijing
name= william
email= william@foxmial.com
2.2与IO流结合使用
2.2.1示例
2.2.1.1创建类
package com.william;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
public class LoadProperties {
public static void main(String[] args) throws IOException {
//创建对象
Properties properties = new Properties();
//创建输入流对象
FileReader fileReader = new FileReader("polymorphism\\src\\resources\\config.properties");
//调用load方法将文件中的键值对加载到集合中
properties.load(fileReader);
fileReader.close();
System.out.println(properties);
}
}
2.2.1.2创建配置文件
name=william
address=shanghai
email=william@foxmail.com
2.3.2输出结果
{address=shanghai, email=william@foxmail.com, name=william}