一、概述
- Properties类表示一组持久的属性,该类可以保存到流中,或从流中加载。属性列表中的每个键及其对应的值都是一个字符串
- 人话
- Properties类是Map体系下的一个实现类,是双值存储的集合
- 与此同时,该类也属于IO流体系,拥有相关的流操作方法
- 该类常用于做配置文件
- 线程安全
二、常用API
返回值类型 | 方法名称 | 描述 |
String | getProperty(String key) | 根据key获取集合中对应的值 |
void | load(Reader reader)或load(InputStream inStream) | 从输入字节流中读取属性列表,相当于把properties文件变成一个map集合 |
void | store(参数一,String 参数二) | 将properties集合中的键值对信息通过流对象存储到properties文件中 参数一: 可以是一个字节输出流对象或字符输出流对象 参数二: 代表properties文件里的第一行注释,以#开头 |
三、举例
public static void main(String[] args) throws IOException {
Properties ppt = new Properties();
ppt.put("name","金苹果");
ppt.put("info","讲述了果农种植苹果的艰辛过程");
PrintWriter writer = new PrintWriter("I://book.properties");
//传入一个打印流对象,第二个参数是文件第一行的注释,以#开头
ppt.store(writer,"存储的图书信息");
Properties ppt2 = new Properties();
//读取配置文件
FileReader reader = new FileReader("I://book.properties");
ppt2.load(reader);
//获取配置文件中的字段对应的值
System.out.println(ppt2.getProperty("name")); //金苹果
writer.close();
}
- 第一行注释用的是unicode编码来表示