属性集介绍:
集合家族中有个成员`java.util.Properties ` ,它继承于` Hashtable` 。`Properties`是使用键值结构存储数据的,但它最大的特点是具有持久化功能。
运用属性集存键值对:
常用api:
-
public Properties()
:创建一个空的属性列表。 -
public Object setProperty(String key, String value)
: 保存一对属性。 -
public String getProperty(String key)
:使用此属性列表中指定的键搜索属性值。 -
public Set<String> stringPropertyNames()
:所有键的名称的集合。 -
public void load(InputStream inStream)
: 从字节输入流中读取键值对数据。 -
public void store(OutputStream out,String comments)
:从字节输入流中存储键值对数据。
三种查询属性集的方法:
1.当前目录开始查找
/**
* 取当前目录下的资源
*/
InputStream in = SelectProperties.class.getResourceAsStream("system.properties");
properties.load(in);
System.out.println(properties);
此方式是直接传入.properties的文件名来进行查找,但是只能在同一目录下
2.从src目录下开始查找
/**
* 从src目录下开始查找资源
*/
InputStream in = SelectProperties.class.getClassLoader().getResourceAsStream("com/dmdd/demo3/system.properties");
properties.load(in);
System.out.println(properties);
此方式我们需要以src为起点输入相对的路径。
3.从项目的根目录开始查找
/**
* 3.从项目根目录开始查找
*/
String path= System.getProperty("user.dir")+"/20221103-属性集/src/com/dmdd/demo3/system.properties";
System.out.println(path);
properties.load(new FileInputStream(path));
System.out.println(properties);
这个方式也就是说从项目的最起点开始找
结果展示: