属性集合类Properties

来源:互联网 发布:淘宝阿迪达斯是真的吗 编辑:程序博客网 时间:2024/04/29 03:16

Hashtable implements Map
public class Properties extends Hashtable< Object,Object>

Properties 是map的子类:有map的方法

方法:
put(key,value)
Set keySet();

        Properties prop=new Properties();        prop.put("0001", "a");        prop.put("0002", "b");        prop.put("0003", "c");        prop.put("0004", "d");        prop.put("0005", "e");        Set<Object> set=prop.keySet();        for (Object o : set) {            Object value=prop.get(o);            System.out.println(o+"===="+value);        }

本身特有功能:
String getProperty(String key) 用指定的键在此属性列表中搜索属性。
void load(InputStream inStream) 从输入流中读取属性列表(键和元素对)。
void load(Reader reader) 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
void list(PrintStream out) 将属性列表输出到指定的输出流。
void list(PrintWriter out) 将属性列表输出到指定的输出流。
Enumeration< ?> propertyNames() 返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。
Object setProperty(String key, String value) 调用 Hashtable 的方法 put。
void store(OutputStream out, String comments) 以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。
void store(Writer writer, String comments) 以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。
Set stringPropertyNames() 返回此属性列表中的键集,其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。

        Properties prop=new Properties();        //设置key,value        prop.setProperty("0001", "a");        prop.setProperty("0002", "b");        prop.setProperty("0003", "c");        prop.setProperty("0004", "d");        prop.setProperty("0005", "e");        //获取所有的键的集合        Set<String> sets=prop.stringPropertyNames();        for (String set : sets) {            String value=prop.getProperty(set);            System.out.println(set+"===="+value);        }        //保存在一个 文件中        prop.store(new FileWriter("prop.txt"), "this is first line comment");        //清空prop        prop.clear();        //读取文件       prop.load(new FileReader("prop.txt"));       System.out.println(prop);       //获取元素       System.out.println(prop.getProperty("0005"));输出:0005====e0004====d0003====c0002====b0001====a{0005=e, 0004=d, 0003=c, 0002=b, 0001=a}e

读取配置property的代码

    // 把文件中的数据加载到集合中        Properties prop = new Properties();        Reader r = new FileReader("prop.txt");        prop.load(r);        r.close();        //读取key        Set<String> sets=prop.stringPropertyNames();        for (String set : sets) {            String value=prop.getProperty(set);            System.out.println(set+"===="+value);        }        // 把集合中的数据重新存储到文件中        Writer w = new FileWriter("prop.txt");        prop.store(w, null);        w.close();输出:0005====e0004====d0003====c0002====b0001====a
0 0
原创粉丝点击