Java中Properties集合

Properties 类表示了一个持久化的属性集,可保存在流中或从流中加载,属性列表中每个键及其对应的值都是一个字符串

1、Properties 集合特点

Properties 类是 Hashtable 的子类,Map 集合中的方法都可以用

该集合没有泛型,键值都是字符串

是一个可以持久化的属性集,键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上,键值的来源也可以是持久化的设备

有和流技术相结合的方法

2、Properties 集合中存储键值对

集合对象 Properties 类,继承 Hsahtable ,实现 Map 接口,可以和 IO 对象结合使用,实现数据的持久存储,Properties 类有其特有的方法进行键值对的存储,如下:

setProperty(String key, String value):setProperty等同与Map接口中的put,即往集合中存储键值对

getProperty(String key):通过键获取值

stringPropertyNames():将集合中的键存储到 Set 集合中,类似 Map 接口中的 keyset 方法

public static void main(String[] args)

{

    Properties P = new Properties();

    //setProperty(String key, String value):setProperty等同与Map接口中的put,即往集合中存储键值对

    P.setProperty("1","a");

    P.setProperty("2","b");

    P.setProperty("3","c");

    System.out.println(P);

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

    Set S = P.stringPropertyNames();

    for(String key : S)

    {

        //通过键获取值

        System.out.println(P.getProperty(key));

    }

}

3、Properties 类中常用方法

load(InputStream inputStream) :把指定流所对应的文件中的数据,读取出来,保存到Propertie集合中

load(Reader reader) :按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)

store(OutputStream outputStream,String commonts) :把集合中的数据,保存到指定的流所对应的文件中,参数commonts代表对描述信息

stroe(Writer writer,String comments) :以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符

public static void main(String[] args) throws IOException {

    /*

    * Properties集合特有方法 load

    * load(InputStream in)

    * load(Reader r)

    * 传递任意的字节或者字符输入流

    * 流对象读取文件中的键值对,保存到集合

    */

    Properties P1 = new Properties();

    FileReader F1 = new FileReader("F:\\TestPath\\test.properties");

    //调用集合的方法load,传递字符输入流

    P1.load(F1);

    F1.close();

    System.out.println(P1);

    /*

    * Properties集合的特有方法store

    * store(OutputStream out)

    * store(Writer w)

    * 接收所有的字节或者字符的输出流,将集合中的键值对,写回文件中保存

    */

    Properties P2 = new Properties();

    P2.setProperty("name", "zhangsan");

    P2.setProperty("age", "31");

    P2.setProperty("email", "[email protected]");

    FileWriter F2 = new FileWriter("F:\\TestPath\\test2.properties");

    //键值对,存回文件,使用集合的方法store传递字符输出流

    P2.store(F2, "");

    F2.close();

}

你可能感兴趣的:(Java中Properties集合)