定义:properties是一个双列集合集合,拥有Map集合所有的特点(一般不会当集合使用)。
重点:有一些特有的方法,可以把集合中的数据,按照键值对的形式写到配置文件当中也可以把配置文件中的数据,读取到集合中来。
核心作用:Properties是用来代表属性文件的,通过Properties可以读写属性文件里的内容

| 构造器 | 说明 |
|---|---|
public Properties() | 用于构建Properties集合对象(空容器) |
| 常用方法 | 说明 |
|---|---|
public void load(InputStream is) | 通过字节输入流,读取属性文件里的键值对数据 |
public void load(Reader reader) | 通过字符输入流,读取属性文件里的键值对数据 |
public String getProperty(String key) | 根据键获取值(其实就是get方法的效果) |
public Set | 获取全部键的集合(其实就是keySet方法的效果) |
public class PropertiesTest {
public static void main(String[] args) throws IOException {
Properties properties = new Properties();
properties.load(new FileReader("..\\properties\\a.properties"));
for (String s : properties.stringPropertyNames()) {
System.out.println(s + " = " + properties.getProperty(s));
}
}
}
| 方法声明 | 说明 |
|---|---|
public Object setProperty(String key, String value) | 保存键值对数据到Properties对象中。如果键已经存在,会用新值替换旧值,并返回旧值;如果键不存在,返回null。 |
public void store(OutputStream os, String comments) | 把键值对数据,通过字节输出流写出到属性文件里去 |
public void store(Writer w, String comments) | 把键值对数据,通过字符输出流写出到属性文件里去。comments参数用于在文件头部添加注释。 |
public class PropertiesTest02 {
public static void main(String[] args) throws IOException {
Properties properties = new Properties();
properties.setProperty("abc","123");
properties.setProperty("def","456");
properties.store(new FileWriter("..\\properties\\a.properties"),"注释");
}
}
XML(全称EXtensible Markup Language,可扩展标记语言)
本质是一种数据格式,可以用来存储复杂的数据结构和数据关系。
<标签名>称为一个标签或一个元素,一般是成对出现的。如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,文件后缀一般为.xml。
1. 大小写敏感
在XML文档中,大小写是有区别的。例如,“A”和“a”是不同的标记。编写XML元素时,前后标记的大小写必须保持一致。最好养成一致的习惯,比如:
这样可以减少因为大小写不匹配而产生的文档错误。
2. 只有一个根元素
良好格式的XML文档必须有一个根元素。
根元素是紧接着声明后面的第一个元素,其他元素都是这个根元素的子元素。
根元素完全包括文档中的所有其他元素。
3. 属性值使用引号
所有属性值必须加引号(可以是单引号,也可以是双引号,建议使用双引号),否则将被视为错误。
4. 所有的标记必须有相应的结束标记
所有标记必须成对出现。有一个开始标记,就必须有一个结束标记。
5. 所有的空标记也必须被关闭
在XML中,所有的空标记也必须关闭。可以使用自闭合标记,如:
<emptyElement />
示例XML文档
<rootElement>
<childElement attribute="value">ContentchildElement>
<emptyElement />
rootElement>
在XML(可扩展标记语言)中,抬头声明通常指的是XML声明。这个声明位于XML文档的最开始,用于指定该文档是XML文档,以及它使用的XML版本和字符编码。
在这个例子中:
是声明开始的标记。version="1.0" 指定了XML的版本,目前最常用的是1.0版本。encoding="UTF-8" 指定了文档使用的字符编码,这里使用的是UTF-8编码。UTF-8是一种通用的、兼容多种语言的字符编码。?> 是声明结束的标记。< 替代 < (小于号)> 替代 > (大于号)& 替代 & (和号)' 替代 ' (单引号)" 替代 " (双引号)在XML文档中,所有文本都会被解析器解析。解析器会将XML中的标签和文本内容解析成文档对象模型(DOM)或其他数据结构。
然而,有时需要在XML文档中包含一些特殊字符(如<和&),这些字符在正常情况下会被解析器认为是标签或实体引用。为了在XML文档中插入这些特殊字符而不被解析器解析,我们可以使用CDATA区段。CDATA区段中的文本内容会被解析器忽略,直接按原样处理。
CDATA区段允许您在XML文档中插入一段不会被解析器解析的文本。在CDATA区段中,您可以直接包含通常会被视为特殊字符的字符(如<和&),而无需使用它们的实体引用。CDATA区段的格式如下:
示例:
<message>
<header>
<sender>user1sender>
<receiver>user2receiver>
<timestamp>2024-06-13T12:34:56timestamp>
header>
<body>
& special characters!
]]>
body>
message>
示例:
<config>
<database>
<host>localhosthost>
<port>3306port>
<username>rootusername>
<password>rootpasspassword>
database>
config>
<message>
<header>
<sender>user1sender>
<receiver>user2receiver>
<timestamp>2024-06-13T12:34:56timestamp>
header>
<body>
<content>Hello, how are you?content>
body>
message>
如有错误烦请指正
感谢您的阅读