Java IO 与 集合

集合--写数据-->文件

文件--读数据-->集合

 

HashTable父类 -- Properties类  该类继承父类的同时  实现了接口Map集合的方法 

Map集合  的  put() 方法  get()方法  ,遍历集合时 常用的keySet() 方法  

Properties集合  “进化”出  功能相似的特有方法:  

setProperty(String key, String value) // 添加集合中的键值对元素的方法

getProperty(String key)  //依靠键 获取值的方法 

stringPropertyNames() //类似于Map接口的方法keySet 将集合中的键存储到Set集合

注意 Properties 这个集合  不支持泛型  <K V>  都是固定的 String类型

 

import java.util.Properties;
import java.util.Set;

        Properties pro = new Properties();
        pro.setProperty("a", "1");
        pro.setProperty("b", "2");
        pro.setProperty("c", "3");

        System.out.println(pro);//打印集合
        
        String value = pro.getProperty("c");//依靠键 获得对应的值
        System.out.println(value);
        
        //遍历集合
        Set<String> set = pro.stringPropertyNames();
        for(String key : set){
            System.out.println(key+"—"+pro.getProperty(key));
        }

 

 

由于Properites特有的方法load() store()    使其可借助与IO字符流的结合 实现持久化存储 ,因此Properites集合被称为 可持久化的属性集

 

* Properties集合的特有方法store    -- 将集合中的键值对,写回文件中保存
* store(OutputStream out)
* store(Writer w)

* Properties集合特有方法 load   --读取文件中的键值对,保存到集合
* load(InputStream in)
* load(Reader r)

 

import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

        Properties pro = new Properties();
        pro.setProperty("name", "zhangsan");
        pro.setProperty("age", "31");
        pro.setProperty("email", "test@163.com");
        FileWriter fw = new FileWriter("c:\\pro.properties");
        //键值对,存回文件,使用集合的方法store传递字符输出流
        pro.store(fw, "");
        fw.close();

 

 

import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;

        Properties pro = new Properties();
        FileReader fr = new FileReader("c:\\pro.properties");
        //调用集合的方法load,传递字符输入流
        pro.load(fr);
        fr.close();
        System.out.println(pro);    

 

posted @ 2020-05-27 16:32  CherryYang  阅读(225)  评论(0编辑  收藏  举报