一、特殊文件
必要性:可以用于存储多个用户的:用户名、密码。这些有关系的数据都可以用特殊文件来存储,然后作为信息进行传输。
1. 属性文件.properties(键值对)
(1)特点:
都只能是键值对
键不能重复
文件后缀一般是.properties结尾的
(2)作用
存储有关系的数据
(3)如何读取
(4)如何存储
2. XML文件.xml
全称:EXtensible Markup Language,可拓展标记语言
本质是一种数据的形式,可以用来存储复杂的数据结构和数据关系。
(1)特点
XML中的“<标签名>”称为一个标签或一个元素,一般是成对出现的。
XML中的标签名可以自己定义(可拓展),但必须要正确的嵌套。
XML中只能有一个跟标签。
XML中的标签可以有属性。
如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml
<users><user id = "1"><name>张无忌</name>><sex>男</sex><地址>光明顶</地址><password>minmin</password><date>3 < 2 & & 5 > 4</date><date1><![CDATA[3<2 && 5>4]]></date1></user><user id = "2"><name>敏敏</name>><sex>女</sex><地址>光明顶</地址><password>wuji</password></user>
</users>
(2)作用
经常用来作为系统的配置文件,或者作为一种特殊的数据结构,在网络中进行传输。
(3)如何读取
配置dom4j作为lib
public class Test8 {public static void main(String[] args) throws Exception {SAXReader reader = new SAXReader();Document document = reader.read("E:\\IDEA\\JavaCodeAll\\file-io-test\\src\\com\\itheima\\IOresource\\helloworld.xml");Element root = document.getRootElement();System.out.println(root.getName());List<Element> elements = root.elements();for (Element element : elements) {System.out.println(element.getName());}Element name = root.element("user");System.out.println(name.elementText("name"));List<Attribute> attri = name.attributes();for (Attribute attribute : attri) {System.out.println(attribute.getName()+"="+attribute.getValue());}System.out.println(name.elementText("name"));System.out.println(name.elementText("地址"));System.out.println(name.elementText("password"));System.out.println("________________");Element data = name.element("data");System.out.println(data.getText());System.out.println(data.getTextTrim());//去除前后空格}
}
dom4j是一种自上而下的解析形式,只能一级一级的解析。
(4)如何存储
推荐直接把程序里的数据拼接成XML格式,然后用IO流写出去