首页 > 编程语言 > 详细

属性集合java.util.Properties

时间:2019-04-05 17:37:42      阅读:166      评论:0      收藏:0      [点我收藏+]

属性集合java.util.Properties

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

Properties类表示一个持久的属性集,可以保存在流中,或者从流中加载。是唯一一个和IO流相结合的集合。Properties集合是一个双列集合,key和value默认都是字符串

方法

方法 作用
void store(OutputStream out, String comments) 把集合的临时数据,持久化写到硬盘存储
void load(Writer writer, String comments) 把硬盘的文件(键值对),读取到集合中使用

store方法使用步骤

  • 创建Properties对象,添加数据
  • 创建字节输出流/字符输出流对象,构造方法中绑定要输出的目的地
  • 使用properties对象的store方法,把集合的临时数据持久化写入到硬盘
  • 释放资源
package cn.zhuobo.day14.aboutProperties;

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

public class Demo01Properties {
    public static void main(String[] args) throws IOException {
        Properties properties = new Properties();
        properties.setProperty("aaa","11");
        properties.setProperty("bbb", "22");
        properties.setProperty("ccc", "33");

// 使用字符输出流
        FileWriter fw = new FileWriter("/home/zhuobo/Desktop/dir/prop.txt");
        properties.store(fw, "store data");
        
        // 使用字节输出流的匿名对象
        properties.store(new FileOutputStream("/home/zhuobo/Desktop/dir/prop1.txt"), "");

        Set<String> keySet = properties.stringPropertyNames();
        for (String key : keySet) {
            System.out.println(properties.getProperty(key));
        }
        fw.close();
    }
}

技术分享图片

键值对写入文件,键与值之间使用空格分隔也是和等号一样的效果,#后面的是注释

load方法使用

  • 创建Properties对象
  • 使用Properties对象的load方法读取保存键值对的文件
  • 遍历Properties集合查看
// 创建Properties对象
Properties properties1 = new Properties();

// 使用Properties对象的load方法读取保存键值对的文件
properties1.load(new FileReader("/home/zhuobo/Desktop/dir/prop1.txt"));

// 遍历Properties集合查看
Set<String> keySet = properties.stringPropertyNames();
for (String key : keySet) {
    System.out.println(key + "=" + properties.getProperty(key));
}

该集合有些特有的处理字符串的方法:

方法 作用
Object setProperty(String key, String value) 调用Hashtable的put方法
String getProperty(String key) 相当于Map中的get方法,通过键获得值
Set StringPropertyNames() 返回此属性列表的键值,其中该键值对应值都是字符串,此方法相当于Map集合的keySet方法
package cn.zhuobo.day14.aboutProperties;

import java.util.Properties;
import java.util.Set;
// 注意使用Properties集合特有的处理字符串的方法
public class Demo01Properties {
    public static void main(String[] args) {
        Properties properties = new Properties();
        properties.setProperty("aaa","11");
        properties.setProperty("bbb", "22");
        properties.setProperty("ccc", "33");

        Set<String> keySet = properties.stringPropertyNames();
        for (String key : keySet) {
            System.out.println(properties.getProperty(key));
        }
    *

属性集合java.util.Properties

原文:https://www.cnblogs.com/zhuobo/p/10659106.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!