Java Properties集合基础解析

pjhaymy 2020-07-19 原文


Java Properties集合基础解析


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() 获取所有名称的集合

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 方法相反,该方法将键 – 值对写入到指定的文件中去。

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

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.存储键值对的文件中,键与值都是字符串,不要加引号

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集合的一些基础知识,如有错误请各位批评指正,喜欢我的文章可以点赞收藏,我会不定期更新文章,各位道友也可以关注我

在这里插入图片描述

posted on
2020-07-19 10:56 
一只胡说八道的猴子 
阅读(
评论(
编辑 
收藏

 

版权声明:本文为pjhaymy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/pjhaymy/p/13338986.html

Java Properties集合基础解析的更多相关文章

  1. 渗透测试,form对象类型转换,简单demo

    最近公司的项目在进行国家某行业的安全检测,涉及到项目安全渗透等方面的问题; 参与项目的渗透等改造,是一个机遇与 […]...

  2. 什么是红黑树

    编写不易,转载注明出处:https://www.cnblogs.com/lmh15054109/ 在学习红黑树 […]...

  3. 章节十四、7-如何切换到iFrame

    以下案例使用https://jqueryui.com/网站为例。 一、如何确定元素是否包含在iFarme中? […]...

  4. BufferedWriter:字符缓冲输出流

    1 package com.itheima.demo01.BufferedStream; 2 3 import […]...

  5. 【剑指offer28:字符串的排列】【java】

    题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所 […]...

  6. java基础( 九)—–深入分析Java的序列化与反序列化

    序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。本文通过分析ArrayList的序列化来介绍 […]...

  7. tomcat的安装和使用

    Tomcat 想必使用java的人都用过,也很熟悉,对于刚入行的java使用者来说还是很重要的,都需要安装,以 […]...

  8. 农村的我在1024分享开始杭漂的经历和心酸,我们一起共勉

    1024这个值得庆祝的节日,分享了一个农村少年(我)的经历,能否和大家的经历产生共鸣呢?我们拭目以待~ 大家好 […]...

随机推荐

  1. Python中xml和dict格式转换

    在做接口自动化的时候,请求数据之前都是JSON格式的,Python有自带的包来解决。最近在做APP的接口,遇到 […]...

  2. jenkins导致磁盘占满问题

    背景 今天登陆jenkins提示磁盘空间不足,且构建发生错误 排查问题 cd到jenkins 安装目录 执行d […]...

  3. linux下硬盘分区、格式化以及文件管理系统

    1、添加虚拟硬盘 (1)点击编辑虚拟机位置,然后点击添加                       (2)点 […]...

  4. SwiftUI(二)- 页面导航NavigationLink和Sheet窗口(模态视图)

    NavigationLink 官方文档对NavigationLink的定义:A button that tri […]...

  5. TortoiseSVN文件夹及文件图标不显示解决方法(转发)

    地址:http://blog.csdn.net/lishehe/article/details/8257545 […]...

  6. excel表格如何自动分行而且显示全数据 – kakaxi007

    excel表格如何自动分行而且显示全数据 2019-11-21 12:05  kakaxi007  阅读(10 […]...

  7. 借助baidu的jsonp接口,做一个自己的候选词组件

    先观察 对接口进行提炼:https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTA […]...

  8. java中数组的定义 – 醉月风纯

    java中数组的定义 1. 一维数组 int[] arr = new int[3];//需要一个容器,但是暂时 […]...

展开目录

目录导航