一、特殊文件
必要性:可以用于存儲多個用戶的:用戶名、密碼。這些有關系的數據都可以用特殊文件來存儲,然后作為信息進行傳輸。
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流寫出去