本文主要是介绍Java Day12 特殊文件、日志技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1、特殊文件
- 1.1 properties属性文件
- 1.2 小案例
- 2、xml文件
- 2.1 编写一个xml文件 语法规则
- 2.2 解析XML文件
- 2.3 写入一个xml文件
- 2.4 xml 约束
- 2.4.1 DTD文档
- 2.4.1 Schema文档
- 3、日志
- 3.1 核心配置文件
- 3.2 日志级别
1、特殊文件
1.1 properties属性文件
特点
:
写入
:
package com.cky.file;import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Properties;
import java.util.Set;public class Endecode {public static void main(String[] args) throws Exception {Properties properties=new Properties();FileReader fileReader=new FileReader("E:\\java_code\\project\\hello-app\\src\\com\\cky\\file\\user.properties");properties.load(fileReader);//加载进来System.out.println(properties);System.out.println(properties.getProperty("崔")); //根据key 获得valueSet<String> strings = properties.stringPropertyNames();for (String string : strings) {System.out.println(string+"---->"+properties.getProperty(string));}properties.forEach((k,v)-> {System.out.println(k+"---->"+v);});}}
写出
:
package com.cky.file;import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Properties;
import java.util.Set;public class Endecode {public static void main(String[] args) throws Exception {Properties properties=new Properties();properties.setProperty("cui","123");properties.setProperty("cui1","123");properties.setProperty("cui2","123");properties.store(new FileOutputStream("hello-app\\src\\com\\cky\\file\\user1.properties"),"保存的name 和 pwd");}}
1.2 小案例
查找 属性文件中 是否有崔 如果有 将年龄改为23
package com.cky.file;import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Properties;
import java.util.Set;public class Endecode {public static void main(String[] args) throws Exception {Properties properties=new Properties();FileReader fileReader=new FileReader("E:\\java_code\\project\\hello-app\\src\\com\\cky\\file\\user.properties");properties.load(fileReader);//将属性文件加载进来内存//查看是否有 崔这个key key唯一if(properties.containsKey("崔")){properties.setProperty("崔","23");//修改}//重新存到文件中去properties.store(new FileWriter("E:\\java_code\\project\\hello-app\\src\\com\\cky\\file\\user.properties"),"success mixed!");}}
2、xml文件
特点
:
2.1 编写一个xml文件 语法规则
<?xml version="1.0" encoding="UTF-8" ?>
<!--上边抬头文件 必须写在第一行-->
<!--根目录只有一个-->
<users><user id="1"><name>崔</name><adderss>巩义</adderss><age>23</age><data><![CDATA[5 >2 <3]]></data></user><user id="2"><name>姜</name><adderss>徐州</adderss><age>23</age></user>
</users>
应用场景
2.2 解析XML文件
经常利用Dom4j (第三方
步骤:
解析思想:
使用解析器 将xml文件解析成一个文档 然后依次从根元素开始解析。
package com.cky.file;import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Properties;
import java.util.Set;public class Endecode {public static void main(String[] args) throws Exception {//创建一个解析器SAXReader saxReader=new SAXReader();//用解析器将xml文件解析为一个文档Document document = saxReader.read("E:\\java_code\\project\\hello-app\\src\\com\\cky\\file\\data.xml");Element rootElement = document.getRootElement();//得到root对象System.out.println(rootElement.getName());//users//获得根元素下的一级子元素List<Element> elements = rootElement.elements();for (Element element : elements) {System.out.println(element.getName());// user user}//默认获得第一个名称的子元素Element user = rootElement.element("user");System.out.println(user.elementText("name")); //得到子元素name的属性值 崔//获取元素属性信息Attribute id = user.attribute("id");System.out.println(user.attributeValue("id")); //1System.out.println(id.getName()); //idSystem.out.println(id.getValue()); //1}}
2.3 写入一个xml文件
不常用,可以忽略
2.4 xml 约束
就是限制XML文件只能按照某种格式进行书写。
2.4.1 DTD文档
只限制 标签 以及标签名
2.4.1 Schema文档
不仅限制标签 还限制标签内的属性值类型
3、日志
比如我们想要追踪 程序的错误信息,想要查看用户观看浏览器的情况,我们都需要日志,将其保存再一个日志文件中。
目前都是使用Logback框架,用SLF4J接口。
3.1 核心配置文件
3.2 日志级别
这篇关于Java Day12 特殊文件、日志技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!