zoukankan      html  css  js  c++  java
  • Java Properties工具类详解

    1、Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便。首先该类是继承自

    Hashtable<Object,Object>

    这就奠定了Properties类的本质其实是一个HashTable,那么对于各种工具类的典型特性就是在HashTable的基础之上做各种封装,以降低操作的难度。说白了,本质上还是key = value结构,只不过key和value都是字符串而已。可以理解成为一个简化版的Map<String, String>。

    2、Properties的用途,显而易见,我们在开发过程中很多地方都会用到以.properties结尾的配置文件,key=valu结构的数据,他没有XML文件那么丰富强大,但是他简单,我们也不是任何地方都需要用XML来描述比较复杂的嵌套结构。据我所知,有不少框架在解析.properties文件的时候就采用的是Properties类或者是基于Properties来扩展,就像Properties扩展HashTable道理差不多。

    3、Properties类的使用

      1.创建Properties对象,源码中提供2中构造方法。但是本质是一致的,在此介绍默认构造方法:

    Properties prop = new Properties();

      2.该类总共大概二三十个方法,没有静态方法。所有的方法都是针对该类的实例化对象的操作。按照一般的工具类的思路,内部虽然有二三十个方法,其实很多都是类似的方法,只不过是不一样的参数进行重载而已。去掉类似的方法和重载的方法,也就剩下不到10个,而这不到10个的方法用法和特点和Map几乎是一模一样,本身他也是继承自HashTable的。

      3.从.properties文件中加载,我们一般都是从文件中加载属性。而该类提供了3个从文件中加载的方法,分别是:

    load(Reader reader)
    load(InputStream inStream)
    loadFromXML(InputStream in)

      4.对属性的操作

      通过上面第3步就会使得prop对象拥有了0个或者多个key=value方式的属性。

      5.对对象的操作

    1         prop.clear(); // 清空
    2         prop.containsKey("key"); // 是否包含key
    3         prop.containsValue("value"); // 是否包含value
    4         prop.entrySet(); // prop的Map.Entry集合
    5         prop.getProperty("key"); // 通过key获取value
    6         prop.put("key", "value"); // 添加属性
    7         prop.list(new PrintStream(new File(""))); // 将prop保存到文件
    8         prop.store(new FileOutputStream(new File("")), "注释"); // 和上面类似
  • 相关阅读:
    SpringCloud-技术专区-Gateway基于OAuth2.0 的身份认证
    Jaeger-实践处理相关计划
    Jaeger-3.实现一个分布式调用(OkHttp+SpringBoot)
    Jaeger-2.客户端使用 (Java版本)
    分布式-技术专区- Pinpoint部署手册
    分布式-技术专区-APM监控系统服务跟踪技术选型参考
    Skywalking集成springcloud分布式链路追踪
    Spring-框架专区
    22Spring基于配置文件的方式配置AOP
    21Spring重用切点表达式
  • 原文地址:https://www.cnblogs.com/dreamroute/p/4824914.html
Copyright © 2011-2022 走看看