Properties和IO流那些事

java.util.Properties<k , v>   extends  Hashtable< k , v>  implements  Map< k , v>

作用:可以从流中加载或把数据保存到流中(流连接文件)

           唯一一个可以和IO流相结合的双列集合

          因为存放的都是键值对,一般可以用来保存配置文件、账号密码等信息,读取时会更方便

相关方法

       写入:使用Properties中的store() 方法将集合中的临时数据,写到永久保存的硬盘中

       读出:使用Properties中的load() 方法将硬盘中的数据,读取到集合中使用

       String getProperty(String key) :  获取双列集合中对应键的值

       Set<String>  stringPropertyNames() : 返回该集合的键集

使用范例

写入:

package com.IO.properties;

import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

public class DemoStore {
    public static void main(String[] args) throws IOException  {
        FileWriter fr = new FileWriter("src\\com\\IO\\i.txt");    //字符输入流对象
        Properties pt = new Properties();         

        pt.setProperty("张三","19");    //往集合中存入数据
        pt.setProperty("李四","29");
        pt.setProperty("王五","13");
        pt.setProperty("赵六","13");
        pt.store(fr,"save data");      //调用store方法往流中存数据,""内放注释内容

    }
}

读出:

package com.IO.properties;

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

public class DemoLoad {
    public static void main(String[] args) throws IOException {
        //遍历输出i.txt文件中所有键值对
        propertiesLoad();

    }

    public static void propertiesLoad() throws IOException{
        //建立流对象,连接文件
        FileReader fileReader = new FileReader("src\\com\\IO\\i.txt");
        //创建对应的集合
        Properties properties = new Properties();
        //将文件内容上传到集合中
        properties.load(fileReader);
        //获取集合的key存入单列集合Set中
        Set<String> stringSet = properties.stringPropertyNames();
        //遍历单列集合
        for (String s : stringSet) {
            System.out.println("键:" + s + "  值:" + properties.getProperty(s));
        }
        //关闭流
        fileReader.close();
    }
}

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值