一、特殊文件
1.Properties属性文件
//1.创建一个Properties对象(键值对集合)
Properties properties = new Properties();
//2.开始加载属性文件中的键值对数据到properties对象中去
properties.load(new FileReader("properties-xml-log-app\\src\\users.properties"));
System.out.println(properties);
//3.根据键取值
System.out.println(properties.getProperty("赵敏"));
//4.遍历全部的键和值
Set<String> keys = properties.stringPropertyNames();
for (String key : keys) {
String value = properties.getProperty(key);
System.out.println(key + "--->" + value);
}
//1.创建Properties对象,用来存储键值对数据
Properties properties = new Properties();
properties.setProperty("张无忌","minmin");
properties.setProperty("殷素素","cuisan");
properties.setProperty("张翠山","siusiu");
//2.把Properties对象中的键值对数据存入到属性文件中去(后面需要添加注释;管道不需要自己关闭)
properties.store(new FileWriter("properties-xml-log-app\\src\\users2.properties")
,"i saved many users");
}
2.XML文件
概述
<?xml version="1.0" encoding="UTF-8" ?>
<!-- 注释:以上抬头声明必须放在第一行 -->
<!-- 根标签只能有一个 -->
<users>
<user id="1">
<name>C罗</name>
<sex>男</sex>
<address>葡萄牙</address>
</user>
<people>666</people>
<user id="2">
<name>梅西</name>
<sex>男</sex>
<address>阿根廷</address>
</user>
</users>
读取XML文件中的数据
//1.创建Dom4j框架提供的解析器对象
SAXReader saxReader = new SAXReader();
//2.使用saxReader对象把xml文件读成一个Document对象
Document document = saxReader.read("properties-xml-log-app\\src\\hello_world.xml");
//3.从文档对象中解析xml文件的全部数据
Element root = document.getRootElement();
System.out.println(root.getName());
//4.获取根元素下的全部一级子元素
List<Element> elements = root.elements();
for (Element element : elements) {
System.out.println(element.getName());
}
//5.获取当前元素下的某个子元素
Element people = root.element("people");
System.out.println(people.getText());
//如果有很多子元素user,默认获取第一个
Element user = root.element("user");
System.out.println(user.elementText("name"));
//6.获取元素的属性信息
System.out.println(user.attributeValue("id"));
//7.如何获取全部文本内容:获取当前元素下的子元素文本值
System.out.println(user.elementText("name"));
System.out.println(user.elementText("sex"));
System.out.println(user.elementText("address"));
把程序写入XML文件
//使用一个StringBuilder对象来拼接XML格式数据
StringBuilder sb = new StringBuilder();
sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n");
sb.append("<book>\r\n");
sb.append("<name>").append("从入门到跑路").append("</name>\r\n");
sb.append("<author>").append("dlei").append("</author>\r\n");
sb.append("<price>").append(999.9).append("</price>\r\n");
sb.append("</book>");
try (
BufferedWriter bw = new BufferedWriter(new FileWriter("properties-xml-log-app\\src\\book.xml"));
){
bw.write(sb.toString());
} catch (IOException e) {
e.printStackTrace();
}
二、日志技术
1.日志技术的体系结构
2.Logback入门
//创建一个Logger日志对象
public static final Logger LOGGER = LoggerFactory.getLogger("LogBackTest");
public static void main(String[] args) {
try {
LOGGER.info("chu法开始执行了~");
chu(10,2);
LOGGER.info("chu法执行成功~");
} catch (Exception e) {
LOGGER.error("chu法方法执行失败,出现了bug~");
}
}
public static void chu(int a,int b){
LOGGER.debug("参数a:" + a);
LOGGER.debug("参数b:" + b);
int c = a/b;
LOGGER.info("结果为:" + c);
}