Properties属性文件
特点、作用
1.内容都只能是键值对
2.键不能重复
3.文件后缀一般是.Properties结尾的
4.注释是以#开头的
Properties
是一个Map集合(键值对集合),但是我们一般不会当集合使用
核心作用:Properties是用来代表属性文件的,通过Properties可以读写属性文件里的内容
使用程序读取它们里面的数据
使用Properties读取属性文件里的键值对数据
构造器 | 说明 |
public Properties() | 用于构建Properties集合对象(空容器) |
常用方法 | 说明 |
public void load(InputStream is) | 通过字节输入流,读取属性文件里的键值对数据 |
public void load(Reader reader) | 通过字符输入流,读取属性文件里的键值对数据 |
public String getProperty(String key) | 根据建获取值(其实就是get方法的效果) |
public Set<String> stringPropertyNames() | 获取全部键的集合(其实就是keySet方法的效果) |
使用程序把数据存储到这些文件例(很少用)
使用Properties把键值对数据写出到属性文件里去
构造器 | 说明 |
public Properties() | 用于构建Properties集合对象(空容器) |
常用方法 | 说明 |
pulic Object setProperty(String key, String value) | 保存键值对数据到Properties对象中去 |
public void store(OutputStream os,String comments) | 把键值对数据,通过字节输出流写出到属性文件里去 (后面的String类型是写一些注释用的)(在方法的形参里面new出来的对象不用自己关闭,用完会自动关) |
public void store(Writer w,String comments) | 把键值对数据,通过字符输出流写出到属性文件里去 |
XML文件
XML(全称EXtensible Markup Language,可扩展标记语言)
特点
XML的“<标签名>”成为一个标签或一个元素,一般是成对出现的
XML的标签名可以自己定义(可扩展),但必须要正确的嵌套
XML中只能有一个跟标签
XML中的标签可以有属性
如果一个文件中放置的是XML格式的文件,这个文件就是XML文件,后缀一般要写成.xml
XML的语法规则
1.XML文件的后缀名为:xml,文档第一行必须写文档声明,即以下内容(1.0代表版本,UTF-8代表字符集,直接写即可)
<?xml version="1.0" encoding="UTF-8" ?>
version:XML默认的版本号吗、该属性必须存在
encoding:本XML文件的编码
2.XML中可以定义注释信息:<!-- 注释内容 -->
3.XML中书写“<”、"&"等,可能会出现冲突,导致报错,此时可以用如下特殊字符替代
< < 小于
> > 大于
& & 和号
' ' 单引号
" " 引号
4.XML中可以写一个叫CDATA的数据区:<![CDATA[...内容...]]>,里面的内容可以随便写,包括"<"等
作用和应用场景
本质是一种数据格式,可以用来存储复杂的数据结构和数据关系
应用场景:经常用来作为系统的配置文件;或者作为一种特殊的数据结构,在网络中进行传输
解析XML文件
使用程序读取XML文件中的数据
使用Dom4j解析出XML文件
步骤:
1.下载Dom4j框架,官网下载
2.在项目中创建一个文件夹:lib
3.将dom4j-2.1.3.jar文件复制到lib文件夹
4.在jar文件上点右键,选择Add as Library -> 点击OK
5.在类中导包使用
Dom4j解析XML-得到Document对象
SAXReader:Dom4j提供的解析器,可认为是代表整个Dom4j框架
构造器/方法 | 说明 |
public SAXReader() | 构建Dom4j的解析器对象 |
public Document read(String url) | 把XML文件读成Document对象 |
public Document read(InputStream is) | 通过字节输入流把XML文件读成Document对象 |
Document
方法名 | 说明 |
Element getRootElement() | 获取根元素对象 |
Element提供的方法
方法名 | 说明 |
public String getName() | 得到元素名字 |
public List<Element> elements() | 得到当前元素下所有子元素 |
public List<Element> elements(String name) | 得到当前元素下指定名字的子元素返回集合 |
public Element element(String name) | 得到当前元素下指定名字的子元素,如果有很多名字相同的返回第一个 |
public String attributeValue(String name) | 通过属性名直接得到属性值 |
public String elementText(子元素名) | 得到指定名称的子元素文本 |
public String getText() | 得到文本 |
步骤:
1.创建Dom4j解析器对象
2.由该解析器创建某个XML文件的Document对象
3.调该对象的方法得到根元素对象
4.通过根元素对象来调用方法来得到XML文件的内容
使用程序把数据写出到XML文件中(基本不用)
推荐直接把程序里的数据 拼接成XML格式,然后用IO流写出去
约束XML文件的编写[了解]
限制XML文件只能按照某种格式进行书写
约束文档:专门用来限制xml书写格式的文档,比如:限制标签、属性应该怎么写
DTD文档
需求:利用DTD约束文档,约束一个XML文件的编写
1.编写DTD约束文档,后缀必须是.dtd
2.在需要编写的XML文件中导入该DTD约束文档
3.然后XML就必须按照DTD约束文档指定的格式进行编写,否则报错
注:DTD可以约束XML文件的编写,但不能约束具体的数据类型
Schema文档
可以约束XMLL文件的编写和数据类型
需求:利用schema文档约束一个XML文件的编写
1.编写schema约束文档,后缀必须是.xsd
2.在需要编写的XML文档中导入该schema约束文档
3.按照约束内容编写XML文件的标签