目录
Properties是实现了map接口的一个具体类对象,并且具有和io相关的方法,用来加载和写入配置文件
🍒构造方法:
Properties prop = new Properties();
Properties实现了map接口,并具体了泛型为Object类型, 因此Properties对象可以使用map的方法去对Object类型的数据进行存储和操作 (但并不建议,因为配置文件主要功能是用来写String数据的).
prop.put(10,100);
prop.put("张三",new Date());
🍒特有方法:
为了保证对Properties的操作的时候都是String类型的数据, 提供了特有的方法
1.public void setProperty(String key, String value): 添加一对数据
prop.setProperty("userName","abc");
prop.setProperty("pwd","abc123");
2.public Properties getProperty(String key): 获取配置文件的数据
String value = prop.getProperty("pwd");
3.public Set<String> stringPropertyNames(): 将键和值都是String类型的数据的键存储到set集合中(遍历用)
Set<String> stringPropertyNames = prop.stringPropertyNames();
for (String key : stringPropertyNames) {
System.out.println("key是:"+key+"value是:"+prop.getProperty(key));
}
io相关方法:
用于读取或者写入配置文件的相关方法
1.public void load(InputStream input): 传入一个读取文件的流, 读取文件中的配置信息到prop
public void load(Reader reader):
Properties prop = new Properties();
prop.read(new FileReader(new File("prop\\test.properties")));
2.public void store(OutputStream output, String comments):将prop内容存储用输出流写到文件中, 并配上注释(中文乱码, 可以写英文或者null)
public void store(Writer writer, String comments):
prop.setProperty("hello","world");
prop.store(new FileWriter(new File("prop\\prop2.properties")),null);
🍒注意:
1.properties文件不能写中文. 只能写英文
2.配置文件中可以写注释 #
3.proproperties文件要按照 key=value 的格式编写