前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java Properties集合基础解析

Java Properties集合基础解析

作者头像
一只胡说八道的猴子
发布2020-09-27 10:05:20
7460
发布2020-09-27 10:05:20
举报

Java Properties集合基础解析

本期学习的properties集合是项目中经常用到的操作

什么是Properties集合?

java.util.Properties集合继承于Hashtable,来表示一个持久的属性集,他使用键值结构存储数据,每个键及其对应的值都是一个字符串,该类被许多java类使用,比如获取系统属性时,System.getProperties,方法就是返回一个Properties对象

properties集合是唯一一个与IO流相结合的集合 可以使用Properties集合中的方法store把集合中的数据持久化 可以使用Properties集合中的load方法,把硬盘中保存的文件(键值对)存储到集合中使用,这在项目中 用于读取配置文件经常使用到

属性表中每个键及其对应值都是一个字符串 Properties集合是一个双列集合(双列集合是每个元素由键和值两部分组成,由键可以找到值,键必须是唯一的,值可以重复)

构造方法

public properties() 创建一个空的属性列表

基本的存储方法: public Object setProperty(String key,String value) :保存一对属性 public String setProperties(String key) :使用此属性列表中指定的键搜索属性值 public Set stringPropertNames() 获取所有名称的集合

代码语言:javascript
复制
public class Main {
    public static void main(String[] args) {
        Properties properties = new Properties();
        //存入键值对
        properties.setProperty("one","1");
        properties.setProperty("two","2");
        //拿出所有键
        Set<String> strings = properties.stringPropertyNames();
        //遍历键
        for (String string : strings) {
            //通过键获取值
            String property = properties.getProperty(string);
            //输出
            System.out.println(string+":"+property);
        }
    }
}

结果

在这里插入图片描述
在这里插入图片描述

与流相关的方法

store ( OutputStream out, String comments)

store ( OutputStream out, String comments) : 以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。

参数中使用了字节输入流,通过流对象,可以关联到某文件上,这样就可以能够加载文本中的数据了,文本数据格式:

代码语言:javascript
复制
public class Main {
    public static void main(String[] args) throws IOException {
        Properties properties = new Properties();
        //存入键值对
        properties.setProperty("one","1");
        properties.setProperty("two","2");
        //加载文本中信息到属性集
        properties.store(new FileWriter("c.text"),"savedate");
        //拿出所有键
        Set<String> strings = properties.stringPropertyNames();
    }
}

结果

在这里插入图片描述
在这里插入图片描述

public void load(InputStream inStream)

public void load(InputStream inStream) : 从字节输入流中读取键值对。

注意: 1.存储键值对的文件中,键与值默认的链接符号可以使用=,空格等其他符号 2.存储键值对的文件中,可以使用“#”进行注释,被注释的键值对默认不会被读取 3.存储键值对的文件中,键与值都是字符串,不要加引号

代码语言:javascript
复制
public class Main {
    public static void main(String[] args) throws IOException {
        Properties properties = new Properties();
        properties.load(new FileReader("c.text"));
        //拿出所有键
        Set<String> strings = properties.stringPropertyNames();
        for (String string : strings) {
            System.out.println(string+":"+properties.getProperty(string));
        }
    }
}

结果

在这里插入图片描述
在这里插入图片描述

以上就是Properties集合的一些基础知识,如有错误请各位批评指正,喜欢我的文章可以点赞收藏,我会不定期更新文章,各位道友也可以关注我

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java Properties集合基础解析
  • 什么是Properties集合?
  • 构造方法
  • 与流相关的方法
  • store ( OutputStream out, String comments)
  • public void load(InputStream inStream)
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档