java.util.Properties集合 extends Hashtable<k,v>implements Map<k,v>。它表示了一个持久的属性集,可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。它是唯一一个和IO流相结合的集合。

①可以使用该集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储。本来集合中的数据是内存中的,程序结束就没了。
②可以使用该集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用
③属性列表中每个键及其对应值都是一个字符串,key和value默认都是字符串

代码举例:
//使用该集合存储数据,遍历取出其中的元素。
//因为默认是字符串类型,所以有字符串特有的方法
//方法添加数据,调用Hashtable的方法put
1.Object setProperties()

//用指定的键在此属性列表中搜索属性,即获得值,相当于map集合中get方法
2.String getProperties()

//返回此属性列表中的键集,其中该键及其对应值是字符串,相当于map集合中的keySet()方法
3.Set<String> stringPropertyNames()
  
Demo类:  
Properties prop = new Properties();
prop.setProperties("樊萌萌","168");
prop.setProperties("孙佳宁","170");//必须要是字符串类型
//当然也可以使用put方法,键值类型均为Object,不过不太建议用,最好用它特有的方法

//使用stringPropertyNames()取出键,存储到Set集合中
Set<String> set = prop.stringPropertyNames();
//遍历set集合,读取值
for(String key:set){
    String value = prop.getProperties(key); 
}

/*①可以使用该集合中的方法store,把集合中的临时数据,
持久化写入到硬盘中存储。本来集合中的数据是内存中的,程序结束就没了。*/
void store(OutputStream out,String comments)
void store(Writer writer,String comments)
    //参数:
    OutputStream:字节输出流,不能写入中文
    Writer:字符输出流,可以写中文
    String comments:
    注释,用来解释说明保存的文件时做什么用的。且不能使用中文,
    会产生乱码,默认是Unicode编码,一般使用空字符串
    
    
    使用步骤:
    //1.创建集合对象,添加数据
    创建就直接按上边的例子来了
    
    //2.创建字节输出流/字符输出流对象,构造方法中绑定要输出的目的地
    FileWriter fw = new FileWriter("Demo\\prop.txt");
    
    //3.使用集合中的store方法把集合中的临时数据,持久化写入到硬盘中存储
    prop.store(fw,"save data");

    //4.释放资源
	fw.close();//如果是匿名对象的话不用关,因为使用完它自己就关了
    
    
  /*②可以使用该集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用*/
	void load(InputStream inStream)
    void load(Reader reader)
        参数:
        InputStream:字节输入流,不能读取含有中文的键值对
        Reader:字符输入流,可以中文