Class Properties

All Implemented Interfaces:
Serializable, Cloneable, Map<Object,Object>, org.aoju.bus.core.getter.BasicType<String>, org.aoju.bus.core.getter.OptBasicType<String>

public final class Properties extends Properties implements org.aoju.bus.core.getter.BasicType<String>, org.aoju.bus.core.getter.OptBasicType<String>
Properties文件读取封装类
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • Properties

      public Properties()
      构造
    • Properties

      public Properties(String path)
      构造,使用相对于Class文件根目录的相对路径
      Parameters:
      path - 路径
    • Properties

      public Properties(String path, String charsetName)
      构造,使用相对于Class文件根目录的相对路径
      Parameters:
      path - 相对或绝对路径
      charsetName - 字符集
    • Properties

      public Properties(String path, Charset charset)
      构造,使用相对于Class文件根目录的相对路径
      Parameters:
      path - 相对或绝对路径
      charset - 字符集
    • Properties

      public Properties(File propertiesFile)
      构造
      Parameters:
      propertiesFile - 配置文件对象
    • Properties

      public Properties(File propertiesFile, String charsetName)
      构造
      Parameters:
      propertiesFile - 配置文件对象
      charsetName - 字符集
    • Properties

      public Properties(File propertiesFile, Charset charset)
      构造
      Parameters:
      propertiesFile - 配置文件对象
      charset - 字符集
    • Properties

      public Properties(String path, Class<?> clazz)
      构造,相对于classes读取文件
      Parameters:
      path - 相对路径
      clazz - 基准类
    • Properties

      public Properties(String path, Class<?> clazz, String charsetName)
      构造,相对于classes读取文件
      Parameters:
      path - 相对路径
      clazz - 基准类
      charsetName - 字符集
    • Properties

      public Properties(String path, Class<?> clazz, Charset charset)
      构造,相对于classes读取文件
      Parameters:
      path - 相对路径
      clazz - 基准类
      charset - 字符集
    • Properties

      public Properties(URL propertiesUrl)
      构造,使用URL读取
      Parameters:
      propertiesUrl - 属性文件路径
    • Properties

      public Properties(URL propertiesUrl, String charsetName)
      构造,使用URL读取
      Parameters:
      propertiesUrl - 属性文件路径
      charsetName - 字符集
    • Properties

      public Properties(URL propertiesUrl, Charset charset)
      构造,使用URL读取
      Parameters:
      propertiesUrl - 属性文件路径
      charset - 字符集
    • Properties

      public Properties(Properties properties)
      构造,使用URL读取
      Parameters:
      properties - 属性文件路径
  • Method Details

    • getProp

      public static Properties getProp(String resource)
      获得Classpath下的Properties文件
      Parameters:
      resource - 资源(相对Classpath的路径)
      Returns:
      Properties
    • getProp

      public static Properties getProp(String resource, String charsetName)
      获得Classpath下的Properties文件
      Parameters:
      resource - 资源(相对Classpath的路径)
      charsetName - 字符集
      Returns:
      Properties
    • getProp

      public static Properties getProp(String resource, Charset charset)
      获得Classpath下的Properties文件
      Parameters:
      resource - 资源(相对Classpath的路径)
      charset - 字符集
      Returns:
      Properties
    • getProp

      public static Properties getProp(String resource, Class<?> clazz)
      获得Classpath下的Properties文件
      Parameters:
      resource - 资源(相对Classpath的路径)
      clazz - 基准类
      Returns:
      Properties
    • load

      public void load(URL url)
      初始化配置文件
      Parameters:
      url - URL
    • load

      public void load(org.aoju.bus.core.io.resource.Resource resource)
      初始化配置文件
      Parameters:
      resource - Resource
    • load

      public void load()
      重新加载配置文件
    • autoLoad

      public void autoLoad(boolean autoReload)
      在配置文件变更时自动加载
      Parameters:
      autoReload - 是否自动加载
    • getObject

      public Object getObject(String key, Object defaultValue)
      Specified by:
      getObject in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getObject

      public Object getObject(String key)
      Specified by:
      getObject in interface org.aoju.bus.core.getter.BasicType<String>
    • getString

      public String getString(String key, String defaultValue)
      Specified by:
      getString in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getString

      public String getString(String key)
      Specified by:
      getString in interface org.aoju.bus.core.getter.BasicType<String>
    • getInt

      public Integer getInt(String key, Integer defaultValue)
      Specified by:
      getInt in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getInt

      public Integer getInt(String key)
      Specified by:
      getInt in interface org.aoju.bus.core.getter.BasicType<String>
    • getBoolean

      public Boolean getBoolean(String key, Boolean defaultValue)
      Specified by:
      getBoolean in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getBoolean

      public Boolean getBoolean(String key)
      Specified by:
      getBoolean in interface org.aoju.bus.core.getter.BasicType<String>
    • getLong

      public Long getLong(String key, Long defaultValue)
      Specified by:
      getLong in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getLong

      public Long getLong(String key)
      Specified by:
      getLong in interface org.aoju.bus.core.getter.BasicType<String>
    • getChar

      public Character getChar(String key, Character defaultValue)
      Specified by:
      getChar in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getChar

      public Character getChar(String key)
      Specified by:
      getChar in interface org.aoju.bus.core.getter.BasicType<String>
    • getFloat

      public Float getFloat(String key)
      Specified by:
      getFloat in interface org.aoju.bus.core.getter.BasicType<String>
    • getFloat

      public Float getFloat(String key, Float defaultValue)
      Specified by:
      getFloat in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getDouble

      public Double getDouble(String key, Double defaultValue) throws NumberFormatException
      Specified by:
      getDouble in interface org.aoju.bus.core.getter.OptBasicType<String>
      Throws:
      NumberFormatException
    • getDouble

      public Double getDouble(String key) throws NumberFormatException
      Specified by:
      getDouble in interface org.aoju.bus.core.getter.BasicType<String>
      Throws:
      NumberFormatException
    • getShort

      public Short getShort(String key, Short defaultValue)
      Specified by:
      getShort in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getShort

      public Short getShort(String key)
      Specified by:
      getShort in interface org.aoju.bus.core.getter.BasicType<String>
    • getByte

      public Byte getByte(String key, Byte defaultValue)
      Specified by:
      getByte in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getByte

      public Byte getByte(String key)
      Specified by:
      getByte in interface org.aoju.bus.core.getter.BasicType<String>
    • getBigDecimal

      public BigDecimal getBigDecimal(String key, BigDecimal defaultValue)
      Specified by:
      getBigDecimal in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getBigDecimal

      public BigDecimal getBigDecimal(String key)
      Specified by:
      getBigDecimal in interface org.aoju.bus.core.getter.BasicType<String>
    • getBigInteger

      public BigInteger getBigInteger(String key, BigInteger defaultValue)
      Specified by:
      getBigInteger in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getBigInteger

      public BigInteger getBigInteger(String key)
      Specified by:
      getBigInteger in interface org.aoju.bus.core.getter.BasicType<String>
    • getEnum

      public <E extends Enum<E>> E getEnum(Class<E> clazz, String key, E defaultValue)
      Specified by:
      getEnum in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getEnum

      public <E extends Enum<E>> E getEnum(Class<E> clazz, String key)
      Specified by:
      getEnum in interface org.aoju.bus.core.getter.BasicType<String>
    • getDate

      public Date getDate(String key, Date defaultValue)
      Specified by:
      getDate in interface org.aoju.bus.core.getter.OptBasicType<String>
    • getDate

      public Date getDate(String key)
      Specified by:
      getDate in interface org.aoju.bus.core.getter.BasicType<String>
    • getAndRemoveString

      public String getAndRemoveString(String... keys)
      获取并删除键值对,当指定键对应值非空时,返回并删除这个值,后边的键对应的值不再查找
      Parameters:
      keys - 键列表,常用于别名
      Returns:
      字符串值
    • toProperties

      public Properties toProperties()
      转换为标准的Properties对象
      Returns:
      Properties对象
    • toBean

      public <T> T toBean(Class<T> beanClass)
      将配置文件转换为Bean,支持嵌套Bean 支持的表达式:
       persion
       persion.name
       persons[3]
       person.friends[5].name
       ['person']['friends'][5]['name']
       
      Type Parameters:
      T - Bean类型
      Parameters:
      beanClass - Bean类
      Returns:
      Bean对象
    • toBean

      public <T> T toBean(Class<T> beanClass, String prefix)
      将配置文件转换为Bean,支持嵌套Bean 支持的表达式:
       persion
       persion.name
       persons[3]
       person.friends[5].name
       ['person']['friends'][5]['name']
       
      Type Parameters:
      T - Bean类型
      Parameters:
      beanClass - Bean类
      prefix - 公共前缀,不指定前缀传null,当指定前缀后非此前缀的属性被忽略
      Returns:
      Bean对象
    • fillBean

      public <T> T fillBean(T bean, String prefix)
      将配置文件转换为Bean,支持嵌套Bean 支持的表达式:
       persion
       persion.name
       persons[3]
       person.friends[5].name
       ['person']['friends'][5]['name']
       
      Type Parameters:
      T - Bean类型
      Parameters:
      bean - Bean对象
      prefix - 公共前缀,不指定前缀传null,当指定前缀后非此前缀的属性被忽略
      Returns:
      Bean对象
    • setProperty

      public void setProperty(String key, Object value)
      设置值,无给定键创建之 设置后未持久化
      Parameters:
      key - 属性键
      value - 属性值
    • store

      public void store(String absolutePath) throws org.aoju.bus.core.exception.InstrumentException
      持久化当前设置,会覆盖掉之前的设置
      Parameters:
      absolutePath - 设置文件的绝对路径
      Throws:
      org.aoju.bus.core.exception.InstrumentException - IO异常,可能为文件未找到
    • store

      public void store(String path, Class<?> clazz)
      存储当前设置,会覆盖掉以前的设置
      Parameters:
      path - 相对路径
      clazz - 相对的类