Java_基础—Properties的概述和使用

时间:2021-10-30 19:28:42
package com.soar.otherio;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Properties;

public class Demo10_Properties {
/*
***A:Properties的概述
* Properties 是Hashtable的子类
* Properties 类表示了一个持久的属性集。
* Properties 可保存在流中或从流中加载。
* 属性列表中每个键及其对应值都是一个字符串。
***B:案例演示
* Properties作为Map集合的使用

***C:Properties的特殊功能
* public Object setProperty(String key,String value)
* public String getProperty(String key)
* public Enumeration<String> stringPropertyNames()
***D:案例演示
* Properties的特殊功能

***E:Properties的load()和store()功能
***F:案例演示
* Properties的load()和store()功能
*/

public static void main(String[] args) throws IOException {
//demo1();
//demo2();
Properties prop = new Properties();
prop.load(new FileInputStream("config.properties")); //将文件中的键值对读取到集合中
//System.out.println(prop);
prop.setProperty("tel","112110189875");
prop.store(new FileOutputStream("config.properties"),null); //第二个参数是对列表的描述,可以给值,也可以给null
System.out.println(prop);

}

private static void demo2() {
Properties prop = new Properties();
prop.setProperty("tel","18888888888");
prop.setProperty("name","张三");
//System.out.println(prop);

Enumeration<String> en = (Enumeration<String>) prop.propertyNames();
while((en.hasMoreElements())){
String key = en.nextElement(); //获取Properties中的每一个键
String value = prop.getProperty(key); //根据键获取值
System.out.println(key + "=" + value);
}
}

private static void demo1() {
Properties prop = new Properties();
prop.put("abc", 123);
System.out.println(prop);
}

}