---
title: "【Java基础复习】特殊文件"
source: https://www.zbhgis.com/note/note-20250925-1
author: zbhgis 浩瀚地学
created: 2025-09-25
tags: [Java基础复习, Java]
---

> 本文来自浩瀚地学，规范页面（含代码高亮与图片灯箱）：https://www.zbhgis.com/note/note-20250925-1
# 【Java基础复习】特殊文件

个人主页：https://github.com/zbhgis

# 前言

1.之前学过，因此本文是个人复习笔记，为视频的总结以及个人思考，可能不是很详细。

2.教程是b站黑马程序员的JAVASE基础课程，笔记中的大部分图片来自于视频中的PPT截图。

3.Java环境为Java SE 17.0.3.1，IntelliJ IDEA版本为2025.2

https://www.bilibili.com/video/BV1Cv411372m

# 内容概览

1.本文内容主要包括

2.笔记对应视频169-174节

# 更新记录

创建时间：2025.10 完成初步撰写

更新1：2026.03 补充目录，并添加个人github主页链接

# Properties

是一个Map集合（键值对集合），但是我们一般不会当集合使用。

用来代表属性文件的，通过Properties可以读写属性文件里的内容。

![image-20260707225021106](https://cdn.jsdelivr.net/gh/zbhgis/BlogImg@main/blog/202607072250161.png)

![image-20260707225035320](https://cdn.jsdelivr.net/gh/zbhgis/BlogImg@main/blog/202607072250363.png)

users.properties

```Plain
admin=123456
山=456
重=789
水=147
复=258
```

users.txt

```Plain
山=456
水=147
admin=123456
重=789
复=258
```

Special1.java

```Java
package com.zbhgis.special;

import java.io.FileReader;
import java.io.FileWriter;
import java.util.Properties;

public class Special1 {
    public static void main(String[] args) throws Exception {
        Properties properties = new Properties();
        System.out.println(properties);

        properties.load(new FileReader("E:\\AAAproject\\JavaDev\\javatest\\src\\users.properties"));
        System.out.println(properties);

        System.out.println(properties.getProperty("山"));
        System.out.println(properties.getProperty("重"));

        properties.forEach((k, v) -> {
            System.out.println(k + "--" + v);
        });

        Properties properties2 = new Properties();
        properties2.setProperty("柳", "258");
        properties2.setProperty("暗", "369");
        properties2.setProperty("花", "147");
        properties2.setProperty("明", "000");
        properties2.store(new FileWriter("E:\\AAAproject\\JavaDev\\javatest\\src\\users2.properties"), "save");

        Properties properties3 = new Properties();
        properties3.load(new FileReader("E:\\AAAproject\\JavaDev\\javatest\\src\\users.txt"));
        if (properties3.containsKey("admin")) {
            properties3.setProperty("admin", "000");
        }
        properties3.store(new FileWriter("E:\\AAAproject\\JavaDev\\javatest\\src\\users.txt"), "success");
    }
}
```

user2.properties

```Plain
#save
#Sun Jan 25 19:31:42 CST 2026
花=147
柳=258
暗=369
明=000
```

user.txt

```Plain
#success
#Sun Jan 25 19:37:27 CST 2026
山=456
水=147
admin=000
重=789
复=258
```

# XML文件

## xml的语法规则

![img](https://cdn.jsdelivr.net/gh/zbhgis/BlogImg@main/blog/202607072251435.png)

## XML解析

DOM4J：常用的解析XML文件的包，其通过SAXReader解析器解析文档，获取Document中的各个Element对应的属性

![image-20260707225158594](https://cdn.jsdelivr.net/gh/zbhgis/BlogImg@main/blog/202607072251642.png)

![image-20260707225225227](https://cdn.jsdelivr.net/gh/zbhgis/BlogImg@main/blog/202607072252270.png)

## XML生成和约束

了解即可

# 日志技术

日志技术的体系结构

![img](https://cdn.jsdelivr.net/gh/zbhgis/BlogImg@main/blog/202607072249971.png)

Logback较为常用，是基于slf4j的日志规范实现的框架

![image-20260707225248487](https://cdn.jsdelivr.net/gh/zbhgis/BlogImg@main/blog/202607072252529.png)

![img](https://cdn.jsdelivr.net/gh/zbhgis/BlogImg@main/blog/202607072249726.png)
