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个等级,从低到高分别是:

  1. DEBUG
  2. INFO
  3. WARNING
  4. ERROR
  5. CRITICAL

说明:

  • DEBUG:详细的信息,通常只出现在诊断问题上
  • INFO:确认一切按预期运行
  • WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。
  • ERROR:更严重的问题,软件没能执行一些功能
  • CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行

 

为什么

要学习日志级别?

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

posted @ 2023-03-07 19:56  好学的耀耀  阅读(128)  评论(0编辑  收藏  举报