Properties

使用Properties集合便利存储数据

java.util.Properties集合extends Hashtable<Object,Object> implements Map<k,v>
Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。
可以使用Properties集合中的放啊store,把集合中的临时数据,持久化到硬盘中存储
可以使用Properties集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用
属性列表中每个键及其对应值都是一个字符串。
properties集合是一个双列集合,key和value默认都是字符串

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

public class Demo5 {
    public static void main(String[] args) throws IOException {
        show03();
    }

    /*
    * 可以使用Properties集合中的方法load,把硬盘中保存的文件(键值对),读取到集合中使用
    *    void load(InputStream inStream)
          从输入流中读取属性列表(键和元素对)。
         void load(Reader reader)
          按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。

    * 注意:
    * 存储键值对的文件中,键与值之间的连接符可以是"="也可以是空格
    * 文件中可以使用#注释,被注释的不会被读取
    * 存储键值对的文件中键与值的类型默认字符串,不用加双引号
    * */
    private static void show03() throws IOException {
        Properties prop = new Properties();
        prop.load(new FileReader("b.txt"));

        Set<String> set = prop.stringPropertyNames();

        for (String key : set) {
            String value = prop.getProperty(key);
            System.out.println(key+"="+value);

        }
    }

    /*
    * 可以使用Properties集合中的放啊store,把集合中的临时数据,持久化到硬盘中存储
    *  void store(OutputStream out, String comments) 以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。
    *  void store(Writer writer, String comments) 以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。
    * 参数:
    *   OutputStream out 字节输出流不能写中文
    *   Writer writer 字符输出流,可以写中文
    *   String comments 注释用来解释文件是用来干什么的,不能使用中文
    * */
    private static void show02() throws IOException {
        Properties prop = new Properties();

        prop.setProperty("迪丽热巴","172");
        prop.setProperty("于文文","168");
        prop.setProperty("古力娜扎","165");

        FileWriter fw = new FileWriter("b.txt");

        prop.store(fw,"");

        fw.close();
    }

    /*
    * 使用properties集合存储数据,遍历取出集合中的数据
    * properties集合是一个双列集合,key和value默认都是字符串
    * properties集合有一些操作字符串的特有方法
    *   Object setProperty(String key, String value) 调用 Hashtable 的方法 put。
    *   String getProperty(String key) 用指定的键在此属性列表中搜索属性。
    *   Set<String> stringPropertyNames() 返回此属性列表中的键集,其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。
    * */
    private static void show01() {
        Properties prop = new Properties();

        prop.setProperty("迪丽热巴","172");
        prop.setProperty("于文文","168");
        prop.setProperty("古力娜扎","165");

        Set<String> set = prop.stringPropertyNames();

        for (String key : set) {
            String value = prop.getProperty(key);
            System.out.println(key+"="+value);

        }
    }
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值