Java学习笔记(四十七)—— Properties类

概述

      Properties类表示一组持久的属性。 Properties可以保存到流中或从流中加载。 属性列表中的每个键及其对应的值都是一个字符串。改类继承了Hashtable

特有方法

      PropertiesProperties集合中的方法store,把集合中的数据持久化写入到硬盘中存储
      PropertiesProperties集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用

	void store​(OutputStream out, String comments) 将此 Properties表中的此属性列表(键和元素对)以适合于使用 load(InputStream)方法加载到 Properties表格的格式写入输出流。  不能写中文
	void store​(Writer writer, String comments) 将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式输出到输出字符流。  可以写中文
	void load​(InputStream inStream) 从输入字节流读取属性列表(键和元素对)。  
	void load​(Reader reader) 以简单的线性格式从输入字符流读取属性列表(关键字和元素对)。  
	Object get​(Object key) 返回指定键映射到的值,如果此映射不包含键的映射,则返回 null 。  相当于Map集合中的get(key)方法
	Set<String> stringPropertyNames​() 从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串,包括默认属性列表中的不同键,如果尚未从主属性列表中找到相同名称的键。 相当于Map集合中的keySet()方法 
        Properties prop=new Properties();
        prop.setProperty("张三","18");
        prop.setProperty("李四","20");
        prop.setProperty("王五","28");
       Set<String> set=prop.stringPropertyNames();
        for (String s : set) {
            System.out.println(s); // 李四,张三,王五
            System.out.println(prop.get(s)); // 20,18,28
        }
/*
store方法的使用步骤:
	1、创建Properties集合对象,添加数据
	2、创建字节输出流或字符输出流对象,构造方法中绑定要输出的目的地
	3、使用Properties集合对象中的store方法,把集合中的数据持久化写入大硬盘中存储
	4、释放资源
*/
        Properties prop=new Properties();
        prop.setProperty("张三","18");
        prop.setProperty("李四","20");
        prop.setProperty("王五","28");

        try(FileWriter fw = new FileWriter("day14\\src\\f.txt");) {
            prop.store(fw,"");
        } catch (IOException e) {
            e.printStackTrace();
        }
/*
load方法的使用步骤:
	1、创建Properties集合对象
	2、使用Properties集合对象中的load方法,读取保存简直对的文件
	3、遍历Properties集合对象
注意事项:
	1、存储键值对的文件中,键与值默认的连接符号可以使用=,空格(其他符号)
	2、存储键值对的文件中,可以使用#号进行注释,j被注释的键值对不会在被读取
	3、存储键值对的文件中,键与值默认都是字符串
*/
        Properties prop = new Properties();
        try {
            FileReader fr = new FileReader("day14\\src\\f.txt");
            prop.load(fr);
            Set<String> set=prop.stringPropertyNames();
            for (String s : set) {
                System.out.println(s+"==="+prop.get(s));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值