package com.itheima.d1;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.nio.charset.StandardCharsets;
import java.util.Properties;
import java.util.Set;
public class Test1 {
public static void main(String[] args) throws Exception {
//创建一个Properties的对象出来(键值对集合,空容器)
Properties properties = new Properties();
System.out.println(properties);
//2、开始加载属性文件中的键值对实际到properties对象中去
properties.load(new FileReader("wenjian\\src\\users.properties"));
System.out.println(properties);
//3、根据键取值
System.out.println(properties.getProperty("小明"));
System.out.println(properties.getProperty("admin"));
//4、遍历全部的键和值
Set keys = properties.stringPropertyNames();
for (String key : keys) {
String value = properties.getProperty(key);
System.out.println(key + "------>" + value);
}
properties.forEach((k,v) ->{
System.out.println(k + "------>" + v);
});
}
}
package com.itheima.d1;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
public class Test2 {
public static void main(String[] args) throws Exception {
//1、创建Properties对象出来,先用他存储一些键值对数据
Properties properties = new Properties();
properties.setProperty("小明", "123456");
properties.setProperty("小王", "123");
properties.setProperty("小白", "666");
//2、把properties对象中的键值对数据存入到属性文件里去
properties.store(new FileWriter("wenjian/src/user.properties")
,"save");
}
}
id="1"
小明
男
<地址>学校地址>
123456
3 < 2 && 5 > 4
4
]]>
小王
男
<地址>图书馆地址>
123
3 < 2 && 5 > 4
注意:解析XML文件只能自上而下解析即先读取根元素对象再读取根元素对象之下的子元素对象
Element提供的方案
package com.itheima.d2;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.xml.sax.*;
import javax.xml.parsers.SAXParser;
import java.nio.charset.StandardCharsets;
import java.util.List;
public class Test1 {
public static void main(String[] args) throws Exception {
//1、创建一个Dom4j框架提供的解析对象
SAXReader saxReader = new SAXReader();
//2、使用saxReader对象把需要解析的XML文件读成一个Document对象
Document document = saxReader.read("wenjian\\src\\helloworld.xml");
//3、从文档对象中解析XML文件的全部数据
Element root = document.getRootElement();
System.out.println(root.getName());
//4、获取根元素下的全部一级元素。
List elements = root.elements();
for (Element element : elements) {
System.out.println(element.getName());
}
//5、获取当前元素下的某个子元素
Element people = root.element("people");
System.out.println(people.getText());
//如果下面有很多子元素,默认获取第一个
Element user = root.element("user");
System.out.println(user.elementText("name"));
//6、如何获取元素的属性信息
System.out.println(user.attributeValue("id"));
Attribute id = user.attribute("id");
System.out.println(id.getName());
System.out.println(id.getValue());
List attributes = user.attributes();
for (Attribute attribute : attributes) {
System.out.println(attribute.getName() + "=" + attribute.getValue());
}
//7、如何获取全部的文本内容:获取当前元素下的子元素文本值
System.out.println(user.elementText("name"));
System.out.println(user.elementText("地址"));
System.out.println(user.elementText("password"));
Element date = user.element("date");
System.out.println(date.getText());
System.out.println(date.getTextTrim());//取出文本去除前后空格
}
}
package com.itheima.d2;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/**
* 目标:如何使用程序把数据写出到XML文件中去。
*
*
* Java从入门到入土
* dlei
* 999.9
*
*/
public class Test2 {
public static void main(String[] args) {
//1、使用一个StringBuilder对象来拼接XML格式的数据
StringBuilder sb = new StringBuilder();
sb.append("\r\n");
sb.append("\r\n");
sb.append("\t").append("Java从入门到入土").append(" \r\n");
sb.append("\t").append("dlei").append(" \r\n");
sb.append("\t").append(999.9).append(" \r\n");
sb.append(" ");
try (
BufferedWriter bufferedWriter =
new BufferedWriter(new FileWriter("wenjian/src/book1.xml"));
){
bufferedWriter.write(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java从入门到入土
dlei
999.9
不能约束具体的数据类型