Java开发中用到的配置文本文件
先来说为什么要使用这些特殊文件?
-
用户的一些敏感信息不希望被外部所获取,所以要单独存入一个不能被外部获取的文件中去。
-
存储有关系的数据,作为系统的配置文件作为信息进行传输。
学习目的
-
了解他们的特点,作用
-
学习使用程序读取他们里面的数据
-
学习使用程序把程序存储到这些文件里
特殊文件:Properties属性文件
Properties
-
是一个Map集合(键值对集合),但是我们一般不会当集合使用。
-
核心作用:Properties是用来代表属性文件的,通过Properties可以读写属性文件里的内容。
(1)使用Properties读取属性文件里的键值对数据
public class propertiesDemo { public static void main(String[] args) throws IOException { //properties读数据 Properties properties = new Properties(); properties.load(new FileInputStream("E:\\java\\HeimaJavasepro\\Day-11-properties\\user.properties") ); //根据key单独获取value String username = properties.getProperty("username"); System.out.println(username); Set<String> strings = properties.stringPropertyNames(); //strings.forEach(s -> System.out.println(s)); strings.forEach(new Consumer<String>() { @Override public void accept(String s) { System.out.println(s+" "+properties.getProperty(s)); } }); System.out.println("========="); strings.forEach(key -> System.out.println(key+" "+properties.getProperty(key))); } }
(2)使用Properties向属性文件里写入键值对数据
public class propertiesDemo1 { public static void main(String[] args) throws IOException { //properties写数据 //创建Properties对象 Properties properties = new Properties(); //基于properties类提供的特有方法向集合中保存字符串类型的KEY和VALUE properties.setProperty("name","erdagou"); properties.setProperty("code","18"); properties.setProperty("score","100"); //基于store方法将Properties集合中的文件写入到.proeprties文件中 //第二个参数传递null:实际只会在properties文件中留下一个日期注释 properties.store(new FileOutputStream(new File("E:\\java\\HeimaJavasepro\\Day-11-properties\\user.properties")),null); } }
特殊文件:XML文件
XML(全称EXtensible Markup Language,可扩展标记语言** )
本质是一种数据的格式,可以用来存储复杂的数据结构和数据关系。
XML的特点
-
XML中的”<标签名>”称为一个标签或一个元素,一般是成对出现的。
-
XML中的标签名可以自己定义(可扩展),但必须要正确的嵌套。
-
XML中只能有一个根标签。
-
XML中的标签可以有属性。
-
如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml。
日志技术
把程序运行的信息,记录到这些文件中,方便程序员定位bug,并了解程序的执行情况等
优点:
-
可以将系统执行的信息,方便的记录到指定位置(控制台,文件中,数据库中)。
-
可以随时以开关的形式控制日志的启停,无需侵入到源代码中去修改
日志技术的体系结构
日志框架:牛人或第三方公司已经做好的实现代码,后来者可以直接拿去使用。
日志接口:设置日志框架的一套标准,日志框架需要实现这些接口。
注意:因为对CommonsLogging接口不满意有人就搞了SLF4J;因为对Log4j的性能不满意,有人就搞了Logback。Logback是基slf4j的日志规范实现的框架。
Logback快速入门
需求
使用Logback日志框架,记录系统的运行信息。
实现步骤
①:导入Logback框架到项目中去。下载地址:https://logback.qos.ch/download.html
②:将Logback框架的核心配置文件logback.xml直接拷贝到src目录下(必须是src下)。
③:创建Logback框架提供的Logger对象,然后用Logger对象调用其提供的方法就可以记录系统的日志信息。
日志级别
日志级别指的是日志信息的类型,日志都会分级别,常见的日志级别(优先级依次升高)。
日志一共分成5个等级,从低到高分别是:
- DEBUG
- INFO
- WARNING
- ERROR
- CRITICAL
说明:
- DEBUG:详细的信息,通常只出现在诊断问题上
- INFO:确认一切按预期运行
- WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
- ERROR:更严重的问题,软件没能执行一些功能
- CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行
为什么
要学习日志级别?
只有日志级别大于或等于核心配置文件文件配置的日志级别,才会被记录,否则不记录。