Java-API简析_java.util.Properties类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/133935306

出自【进步*于辰的博客
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。

大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

文章目录

  • 1、概述
  • 2、字段摘要
    • [2.1 protected Properties defaults](#2.1 protected Properties defaults)
  • 3、构造方法摘要
    • [3.1 null](#3.1 null)
    • [3.2 Properties defaults](#3.2 Properties defaults)
  • 4、方法摘要
    • [4.1 String getProperty(String key)](#4.1 String getProperty(String key))
    • [4.2 String getProperty(String key, String defaultValue)](#4.2 String getProperty(String key, String defaultValue))
    • [4.3 void list(PrintStream out)](#4.3 void list(PrintStream out))
    • [4.4 void list(PrintWriter out)](#4.4 void list(PrintWriter out))
    • [4.5 void load(InputStream inStream)](#4.5 void load(InputStream inStream))
    • [4.6 void loadFromXML(InputStream in)](#4.6 void loadFromXML(InputStream in))
    • [4.7 Enumeration<?> propertyNames()](#4.7 Enumeration<?> propertyNames())
    • [4.8 ~~void save(OutputStream out, String comments)~~](#4.8 void save(OutputStream out, String comments))
    • [4.9 Object setProperty(String key, String value)](#4.9 Object setProperty(String key, String value))
    • [4.10 void store(OutputStream out, String comments)](#4.10 void store(OutputStream out, String comments))
    • [4.11 void storeToXML(OutputStream os, String comment)](#4.11 void storeToXML(OutputStream os, String comment))
    • [4.12 void storeToXML(OutputStream os, String comment, String encoding)](#4.12 void storeToXML(OutputStream os, String comment, String encoding))

1、概述

继承关系:

所有已实现的接口:
SerializableCloneableMap<Object, Object>

直接已知子类:
Provider


public class Properties extends Hashtable<Object,Object>

Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串

一个属性列表可包含另一个属性列表作为它的"默认值";如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。

因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put()putAll()。但强烈反对使用这两个方法,因为它们允许调用方插入其键或值不是 Strings 的项。相反,应该使用 setProperty() 。如果在"有危险"的 Properties 对象(即包含非 String 的键或值)上调用 store()save() ,则该调用将失败。

load()store() 按下面所指定的、简单的面向行的格式加载和存储属性。此格式使用 ISO 8859-1 字符编码。可以使用 U n i c o d e 转义符 \color{green}{Unicode 转义符} Unicode转义符来编写此编码中无法直接表示的字符;转义序列中只允许单个 'u' 字符。可使用 n a t i v e 2 a s c i i 工具 \color{blue}{native2ascii 工具} native2ascii工具对属性文件和其他字符编码进行相互转换。

loadFromXML(InputStream)storeToXML(OutputStream, String, String) 按简单的 XML 格式加载和存储属性。默认使用 UTF-8 字符编码,但如果需要,可以指定某种特定的编码。XML 属性文档具有以下 DOCTYPE 声明:

java 复制代码
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

注意 ,导入或导出属性时不访问系统 URI (http://java.sun.com/dtd/properties.dtd);该系统 URI 仅作为一个唯一标识 DTD 的字符串:

java 复制代码
<?xml version="1.0" encoding="UTF-8"?>

<!-- DTD for properties -->

<!ELEMENT properties ( comment?, entry* ) >

<!ATTLIST properties version CDATA #FIXED "1.0">

<!ELEMENT comment (#PCDATA) >

<!ELEMENT entry (#PCDATA) >

<!ATTLIST entry key CDATA #REQUIRED>

从以下版本开始:

JDK1.0
另请参见:
native2ascii tool for Solarisnative2ascii tool for Windows序列化表格

2、字段摘要

2.1 protected Properties defaults

一个属性列表,包含属性列表中所有未找到值的键的默认值。

3、构造方法摘要

3.1 null

创建一个无默认值的空属性列表。

3.2 Properties defaults

创建一个带有指定默认值的空属性列表。

4、方法摘要

4.1 String getProperty(String key)

用指定的键在此属性列表中搜索属性。

4.2 String getProperty(String key, String defaultValue)

用指定的键在属性列表中搜索属性。

4.3 void list(PrintStream out)

将属性列表输出到指定的输出流。

4.4 void list(PrintWriter out)

将属性列表输出到指定的输出流。

4.5 void load(InputStream inStream)

从输入流中读取属性列表(键和元素对)。

4.6 void loadFromXML(InputStream in)

将指定输入流中由 XML 文档所表示的所有属性加载到此属性表中。

4.7 Enumeration<?> propertyNames()

返回属性列表中所有键的枚举,如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键。

4.8 void save(OutputStream out, String comments)

已过时 。 如果在保存属性列表时发生 I/O 错误,则此方法不抛出 IOException。保存属性列表的首选方法是通过 store(OutputStream out, String comments) 方法或 storeToXML(OutputStream os, String comment) 来进行。

4.9 Object setProperty(String key, String value)

调用 Hashtable 的方法 put。

4.10 void store(OutputStream out, String comments)

以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。

4.11 void storeToXML(OutputStream os, String comment)

发出一个表示此表中包含的所有属性的 XML 文档。

4.12 void storeToXML(OutputStream os, String comment, String encoding)

使用指定的编码发出一个表示此表中包含的所有属性的 XML 文档。


本文暂缓更新。

相关推荐
命运之手4 个月前
【Gradle】Gradle指定JDK位置,JVM参数,网络代理配置
android·gradle·proxy·网络代理·properties
weixin_461769407 个月前
org.springframework.jdbc.BadSqlGrammarException
java·mysql·properties
爱码少年1 年前
基于Jackson封装的JSON、Properties、XML、YAML 相互转换的通用方法
xml·json·properties·yaml
莫青.1 年前
特殊文件(properties和xml文件)及logback日志文件
xml·java·logback·properties
韩曙亮1 年前
【Java 语言】读取 properties 配置文件 ( Java 语言中的 properties 配置文件 | 使用 properties 配置文件 )
java·开发语言·properties
进步·于辰1 年前
Java-API简析_java.io.FilterInputStream类(基于 Latest JDK)(浅析源码)
java-api简析·filterinputstrm
从未止步..1 年前
properties文件和yaml文件的区别~
java·spring boot·后端·spring·intellij-idea·properties
进步·于辰1 年前
Java-API简析_java.io.FileDescriptor类(基于 Latest JDK)(浅析源码)
java-api简析·filedescriptor
全栈ing小甘1 年前
Spring Boot配置文件
java·spring boot·yml·properties·springboot配置文件