Java的特殊文件和日志技术

Java的特殊文件和日志技术

Properties

xxx.properties文件中存储的都是一系列的键值对形式的数据,格式为键 = 值,它在Java程序中的操作,本质上是一个特殊的Map集合,我们可以通过对Properties集合的操作向文件写入和读取一些数据

  • 构造器
    Properties properties = new Properties()

  • 读取文件数据特殊的方法

1.load(字节输入流/字符输入流) 通过字节/字符输入流,读取Properties文件中键值对的数据
注意:操作文件之前一定要检查本项目的字符集一样,具体操作如下
File -> Settings -> Editor -> File Encodings

在这里插入图片描述

代码及其演示

public class Demo01 {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();

        // 通过字节(字符)输入流,读取Properties文件中的键值对数据
        properties.load(new FileReader("D:\\IDEA\\idea\\Boke\\JavaSE\\src\\特殊文件_日志技术\\file\\test.properties"));
        Set<String> keys = properties.stringPropertyNames();
        for (String key : keys) {
            System.out.println(key+" = "+properties.getProperty(key));
        }
    }
}


  1. getProperty(String key) 根据键获取值(同Map集合中的get方法)

注意:Properties集合对象没有用load()方法开启读取文件的话无法使用此方法读取文件中键对应的值

public class Demo01 {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();

        // 通过字节(字符)输入流,读取Properties文件中的键值对数据
        properties.load(new FileReader("D:\\IDEA\\idea\\Boke\\JavaSE\\src\\特殊文件_日志技术\\file\\test.properties"));
        String name = properties.getProperty("name");
        System.out.println(name);
    }
}

  1. Set<String> stringPropertyNames() 获取集合中全部键的集合(同Map集合中的keySet方法)

注意:Properties集合对象没有用load()方法开启读取文件的话无法使用此方法读取文件中键对应的值

public class Demo01 {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();

        // 通过字节(字符)输入流,读取Properties文件中的键值对数据
        properties.load(new FileReader("D:\\IDEA\\idea\\Boke\\JavaSE\\src\\特殊文件_日志技术\\file\\test.properties"));
        Set<String> keys = properties.stringPropertyNames();
        System.out.println(keys);
    }
}



  • 写入Properties文件特殊的方法
  1. setProperty(String key,String value) 向集合中添加键值对数据
  2. store(OutputStream/Writer ,String comments) 把键值对数据通过字节/字符输出流写入到指定路径的Properties文件中

在这里插入图片描述

在这里插入图片描述

public class Demo02 {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();

        // 通过字节/字符输出流把键值对数据写入到Properties文件中
        properties.setProperty("likeFood","烧鸡");
        properties.setProperty("tool","赤兔马");
        properties.store(new FileWriter("D:\\IDEA\\idea\\Boke\\JavaSE\\src\\特殊文件_日志技术\\file\\test.properties",true),
                "三国");
    }
}



XML

XML文件是一种特殊的文件,我们一般用来做项目的配置文件,如SpringBoot项目中的application.XML文件,里面配置一些我们项目的所需要的依赖、第三方接口所需的登录账号,如阿里云的oss云服务存储秘钥、七牛云存储的账号密码等等,还有就是SpringBoot项目中所用的Mybatis框架,框架的XML文件映射也是使用到XML文件,所以XML文件对于我们Java开发是密不可分的

以下是Mybatis框架的XML文件映射展示

在这里插入图片描述

  • XML文件的特点
  1. XML中的"<标签名>"称为一个标签或一个元素,一般都是成对出现的
  2. XML中的标签可以自己定义,所以XML文件也叫做可扩展标记语言,但前提是必须正确的嵌套
  3. XML文件中只能存在一个根标签
  4. XML中的标签可以拥有属性
  5. 如果一个文件中放置的是XML格式的数据,这个文件就是XML文件,后缀一般要写成.xml

  • XML的语法规则
  1. XML文件的后缀名为:.xml,文档声明必须是第一行
  2. 注释格式:<!-注释内容->
  3. 常用的特殊字符转义符号
转义字符作用
&lt;小于号
&gt;大于号
&amp;&与
&apos;单引号
&quot;双引号

  • 关于XML文件原生的解析和写入我们这里不做过多介绍,因为有现成封装的API框架可以直接解析和写入XML数据



日志技术

什么是日志呢?日志简单点来说就是日记,只不过这个日记是系统来帮我们来记录,日志在一个项目中几乎是必备的技术,它可以记录什么时候什么人做了什么事,也可以记录我们使用系统用户的喜好,这样更方便我们对系统的优化,最重要的一点是,当我们开发的系统崩溃时,我们可以查询日志来排查和分析bug,日志通常是一个文件,不过我们开发中一般把日志记录在数据库中,使用注解@Sl4fj开启日志的记录

这里所讲述的日志仅仅作为了解即可,后面我们会用到注解来真正的使用日志技术

  • 日志级别
日志作用级别
trace追踪,指明程序运行的轨迹1(最低级别)
debug调试,实际应用中一般将其作为最低级别,而trace则使用得更少2
info输出重要的运行信息,数据连接、网络连接、IO操作等,使用较多3
warn警告信息,可能会发生的问题,使用较多4
error错误信息,使用较多5(最高级别)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值