26.特殊文件&日志技术

一、特殊文件

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);
    }

 

3.Logback设置日志级别

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值