属性集合类Properties

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====e
0004====d
0003====c
0002====b
0001====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====e
0004====d
0003====c
0002====b
0001====a

转载于:https://www.cnblogs.com/feiZhou/p/9344462.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值