11 Properties
Map集合体系
Properties属性集对象
● 其实就是一个Map集合,但是我们一般不会当集合使用,因为HashMap更好用。
Properties核心作用
● Properties代表的是一个属性文件,可以把自己对象中的键值对信息存入到一个属性文件中去。
● 属性文件,后缀是 .properties 结尾的文件,里面的内容都是key=value,后续做系统配置的信息的。
Properties的API:
● Properties和IO流结合的方法
构造器 |
说明 |
void load(InputStream inStream) |
从输入字节流读取属性列表(键和元素对) |
void load(Reader reader) |
从输入字符流读取属性列表(键和元素对) |
void store(OutputStream out, String comments) |
将此属性列表(键和元素对)写入此 Properties表中,以适合于使用 load(InputStream)方法的格式写入输出字节流 |
void store(Writer writer, String comments) |
将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式写入输出字符流 |
public Object setProperty(String key, String value) |
保存键值对(put) |
public String getProperty(String key) |
使用此属性列表中指定的键搜索属性值 (get) |
public Set<String> stringPropertyNames() |
所有键的名称的集合 (keySet()) |
【示例】
/**
目标:Properties的概述和使用(框架底层使用,了解这个技术即可)(保存数据到属性文件)
小结:
Properties可以保存键值对数据到属性文件
*/
public class PropertiesDemo01 {
public static void main(String[] args) throws Exception {
// 需求:使用Properties把键值对信息存入到属性文件中去。
Properties properties = new Properties();
properties.setProperty("admin", "123456");
properties.setProperty("dlei", "003197");
properties.setProperty("heima", "itcast");
System.out.println(properties);
/**
参数一:保存管道 字符输出流管道
参数二:保存心得
*/
properties.store(new FileWriter("io-app2/src/users.properties")
, "this is users!! i am very happy! give me 100!");
}
}
运行结果:
{admin=123456, dlei=003197, heima=itcast}
查看新生成的 users.properties 文件
#this is users!! i am very happy! give me 100!
#Mon Jan 03 14:13:59 CST 2022
admin=123456
dlei=003197
heima=itcast
【示例2】
/**
目标:Properties读取属性文件中的键值对信息。(读取)
小结:
属性集对象可以加载读取属性文件中的数据!!
*/
public class PropertiesDemo02 {
public static void main(String[] args) throws Exception {
// 需求:Properties读取属性文件中的键值对信息。(读取)
Properties properties = new Properties();
System.out.println(properties);
// 加载属性文件中的键值对数据到属性对象properties中去
properties.load(new FileReader("io-app2/src/users.properties"));
System.out.println(properties);
String rs = properties.getProperty("dlei");
System.out.println(rs);
String rs1 = properties.getProperty("admin");
System.out.println(rs1);
}
}
运行结果:
{}
{admin=123456, dlei=003197, heima=itcast}
003197
123456