一、Properties
**定义:**Properties文件主要用于存储配置信息,如数据库连接信息、系统设置等。它是一个键值对集合,其中的键和值都是字符串类型。
是一个Map集合(键值对集合),但是我们一般不会当集合使用。
核心作用:Properties是用来代表属性文件的,通过Properties可以读写属性文件里的内容
1.1 构造方法
构造器 | 说明 |
---|---|
public Properties() | 用于构建Properties集合对象(空容器) |
1.2 从Properties文件中获取
常用方法 | 说明 |
---|---|
public void load(InputStream is) | 通过字节输入流,读取属性文件里的键值对数据 |
public void load(Reader reader) | 通过字符输入流,读取属性文件里的键值对数据 |
public String getProperty(String key) | 根据键获取值(其实就是get方法的效果) |
public Set<String> stringPropertyNames() | 获取全部键的集合(其实就是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));
}
}
}
1.3 向Properties文件中存储
方法声明 | 说明 |
---|---|
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
1.1 xml
XML(全称EXtensible MarkupLanguage,可扩展标记语言)
本质是一种数据的格式,可以用来存储复杂的数据结构,和数据关系。
1.2 特点
XML中的“<标签名>”称为一个标签或一个元素,一般是成对出现的。
XML中的标签名可以自己定义(可扩展),但必须要正确的嵌套。
XML中只能有一个根标签。
XML中的标签可以有属性。
如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后一般要写成.xml。
抬头声明
在XML(可扩展标记语言)中,抬头声明通常指的是XML声明。这个声明位于XML文档的最开始,用于指定该文档是XML文档,以及它使用的XML版本和字符编码。
<?xml version="1.0" encoding="UTF-8"?>
在这个例子中:
<?xml
是声明开始的标记。version="1.0"
指定了XML的版本,目前最常用的是1.0版本。encoding="UTF-8"
指定了文档使用的字符编码,这里使用的是UTF-8编码。UTF-8是一种通用的、兼容多种语言的字符编码。?>
是声明结束的标记。
特殊字符及其对应的实体引用:
<
替代<
(小于号)>
替代>
(大于号)&
替代&
(和号)&apos
替代'
(单引号)"
替代"
(双引号)
CDATA区段允许您在XML文档中插入一段不会被解析器解析的文本。在CDATA区段中,您可以直接包含通常会被视为特殊字符的字符(如<
和&
),而无需使用它们的实体引用。CDATA区段的格式如下:
<![CDATA[ ... 这里可以包含任何字符,包括 < 和 & ... ]]>
1.2 xml作用和应用场景
本质是一种数据格式,可以存储复杂的数据结构,和数据关系。
应用场景:经常用来做为系统的配置文件;或者作为一种特殊的数据结构,在网络中进行传输。
1.3 解析XML文件
使用程序读取XML文件中的数据
Dom4j
三、区别
关系归纳
- 格式差异:TXT是纯文本格式,只包含文本信息;XML是标记语言格式,用于定义文档结构;Properties是键值对格式,用于存储配置信息。
- 用途不同:TXT主要用于存储纯文本信息;XML用于数据交换、配置管理、Web服务等;Properties主要用于存储配置信息,如数据库连接、系统设置等。
- 扩展性和可读性:XML具有出色的扩展性和可读性,可以自定义标记以适应不同需求;TXT和Properties在扩展性和可读性方面相对较弱,但因其简单性而易于理解和使用。
- 平台兼容性:TXT、XML和Properties文件都具有较好的平台兼容性,可在多种操作系统和平台上使用。