特殊文件与日志技术

前言

        特殊文件作为了解内容即可,日志技术可能会比较常用。

特殊文件

Properties属性文件

概述

Properties属性文件中的数据都只能是键值对,键不能重复且文件后缀一般是 .properties 结尾的。可以用来存储有关系的键值对数据。可以用Map里的Properties集合可以读取properties文件里的数据

Properties

  • Properties是一个Map集合(键值对集合),但是一般不会当集合使用。
  • 核心作用:Properties是用来代表属性文件的,通过Properties可以读写属性文件里的内容。
构造器说明
public Properties()用于构建Properties集合对象(空容器)
常用方法说明
读取public void load( InputStream is)通过字节输入流,读取属性文件里的键值对数据
public void load(Reader reader )通过字符输入流,读取属性文件里的键值对数据
public String getProperty(String key)根据键获取值(其实就是get方法的效果)
public Set<String> stringPropertyNames ()获取全部键的集合( 其实就是ketSet方法的效果)
写出public 0bject setProperty(String key, String value )保存键值对数据到Properties对象中去。
public void store(OutputStream OS, String comments )把键值对数据,通过字节输出流写出到属性文件里去
public void store(Writer W, String comments)把键值对数据,通过字符输出流写出到属性文件里去

XML文件

概述

        XML全称EXtensible Markup Language,可扩展标记语言(可以直接在浏览器中打开)

本质是一种数据的格式,可以用来存储复杂的数据结构,和数据关系。

XML的特点

●XML中的 “<标签名>”称为一个标签或一个元素, 一般是成对出现的。

●XML中的标签名可以自己定义 (可扩展) ,但必须要正确的嵌套。

●XML中只能有一个根标签。 

●XML中的标签可以有属性(属性由键和值组成)。 

●如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成 .xml。

 XML的创建就是创建一个XML类型的文件,要求文件的后缀必须使用xml,如hello _world.xml

 MXL的语法规则

●XML文件的后缀名为:xml,文档声明必须是第一行

●XML中可以定义注释信息:<!-- 注释内容-->

●XML中书写”<”、“&"等,可能会出现冲突,导致报错,此时可以用如下特殊字符替代。

●XML中可以写一个叫CDATA的数据区:<![CDATA[ ..内... ]]>, 里面的内容可以随便写。

XML的作用和应用场景

●本质是一种数据格式,可以存储复杂的数据结构,和数据关系。

●应用场景: 经常用来做为系统的配置文件;或者作为-种特殊的数据结构,在网络中进行传输。

 Dom4j

简介

        解析XML文件:使用程序读取XML文件中的数据

        用自己写原始的IO流代码来解析XML,难度较大!也相当繁琐!有很多开源的,好用的,解析XML的框架。最知名的是:Dom4j(第三方研发的)

步骤

需求:使用Dom4j把一个XML文件的数据进行解析

分析:

        ①下载Dom4j框架,官网下载。

        ②在项目中创建一个文件夹: lib

        ③将dom4j-2.1.3.jar文件复 制到lib文件夹

        ④在jar文件上点右键,选择Add as Library ->点击0K

        ⑤在类中导包使用

 解析思想

        SAXReader解析器将整个文件解析到内存中去变成一个Document(整个文档)对象,可以通过Document获取Element(元素/标签)及其Attribute(属性)和子元素、文本。

        只能从上到下一级一级解析

 常用API

●SAXReader:Dom4j提供的解析器,可以认为是代表整个Dom4j框架

构造器/方法说明
public SAXReader( )构建Dom4j的解析器对象
public Document read(String url)把XML文件读成Document对象
public Document read( InputStream is )通过字节输入流读取XML文件

 ●Document

方法名说明
Element getRootElement()获得根元素对象

Element提供的方法

方法名说明
public String getName()得到元素名字
public List<Element> elements( )得到当前元素下所有子元素
public List<Element> elements (String name)得到当前元素下指定名字的子元素返回集合
public Element element(String name )得到当前元素下指定名字的子元素,如果有很多名字相同的返回第一个
public String attributeValue(String name)通过属性名直接得到属性值
public String elementText(子元素名)得到指定名称的子元素的文本
public String getText()得到文本

写XML文件

不建议用dom4j做(太过繁琐),推荐直接把程序里的数据拼接成XML格式,然后用IO流写出去!

约束

约束XML文件的书写:就是限制XML文件只能按照某种格式进行书写,可以使用约束文档。

约束文档:有DTD文档与Schema文档这两类。专门用来限制xml书写格式的文档,比如:限制标签、属性应该怎么写。

DTD的使用(了解) 

需求:利用DTD约束文档,约束一个XML文件的编写。

①:编写DTD约束文档,后缀必须是 .dtd

②:在需要编写的XML文件中导入该DTD约束文档

③:然后XML文件,就必须按照DTD约束文档指定的格式进行编写,否则报错!

         DTD可以约束XML文件的编写但不能约束具体的数据类型

schema的使用(了解)

        可以约束XML文件的编写、和数据类型

需求:利用schema文档约束,约束一个XML文件的编写。

①:编写schema约束文档,后缀必须是 .xsd,具体的形式到代码中观看。

②:在需要编写的XML文件中导入该schema约束文档

③:按照约束内容编写XML文件的标签。

日志技术

概述

  • 日志:通常就是一个文件,里面记录的是程序运行过程中的各种信息。
  • 日志技术:可以将系统执行的信息,方便的记录到指定的位置(控制台、文件中、数据库中)。还可以随时以开关的形式控制日志的启停,无需侵入到源代码中去进行修改。

体系结构

日志技术的体系结构
  • 日志框架:牛人或者第三方公司已经做好的实现代码,后来者直接可以拿去使用。
  • 日志接口:设计日志框架的-套标准,日志框架需要实现这些接口。
  • 因为对Commons Logging接口不满意,有人就搞了SLF4j;因为对Log4j的性能不满意,有人就搞了Logback。
  • Logback是基于slf4j的日志规范实现的框架。

Logback

概述

Logback日志框架官方网站:https://logback.qos.ch/index.html

Logback8志框架有以下几个模块:

  1. logback-core:基础模块,是其他两个模块依赖的基础(必须有)
  2. logback-classic:完整实现了slf4j API的模块(必须有)
  3. logback-access:与Tomcat和Jetty等Servlet容器集成,以提供HTTP访问日志的功能(可选,以后再接触)

想使用Logback8志框架,至少需要在项目中整合如下三个模块:

  • slf4j-api:日志接口
  • logback-core
  • logback-classic

Logback快速入门

需求:

        ●使用Logback日志框架, 纪录系统的运行信息。

实现步骤

        ①导入Logback框架到项目中去。

                slf4j-api: 8志接口        logback-core        logback-classic

        ②将Logback框架的核心配置文件logback.xml直接拷贝到src目录下(必须是src下)。

        ③创建Logback框架提供的Logger对象,然后用Logger对象调用其提供的方法就可以记录系统的日志信息。

public static final Logger LOGGER = LoggerFactory.getLogger(“日志名称");

 注意:对Logback 8志框架的控制,都是通过其核心配置文件logback.xml来实现的。

核心配置文件logback.xml

        核心配置文件logback.xml是对Logback日志框 架进行控制的。

 日志的输出位置、输出格式的设置

●通常可以设置2个输出日志的位置:一个是控制台、一个是系统文件中

开启日志(ALL),取消日志(OFF)

Logback设置日志级别 

日志级别指的是日志信息的类型,日志都会分级别,常见的日志级别如下(优先级依次升高) :

日志级别说明
trace追踪,指明程序运行轨迹
debug调试,实际应用中一般将其作为最低级别,而trace则很少使用
info输出重要的运行信息,数据连接、网络连接、IO操作等等,使用较多
warn警告信息,可能会发生问题,使用较多
error错误信息,使用较多

设置输出日志级别:

        只有日志的级别是大于或等于核心配置文件配置的日志级别,才会被记录,否则不记录。

  • 30
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值