JAVA基础相关知识点(二)-特殊文件-日志

  • 普通文件.txt
  • 属性文件.properties(本质也是文本文件,因此txt文本内部如果也是键值对形式的也可以使用properties相关的方法相关的操作)
  • XML文件.xml

properties文件概述

- 特点
    1、都只能是键值对
	2、键不能重复
	3、文件后缀一般是.properties结尾的
    
Properties
    是一个Map集合(键值对集合),但是我们一般不会当集合使用。
    核心作用:Properties是用来代表属性文件的,通过Properties可以读写属性文件里的内容
     使用Properties读取属性文件里的键值对数据

读取Properties文件

  • 如果打印的中文乱码了,如出现问号,自行去IDEA把文件编码改成utf-8(可以参考这篇博客)
package org.example.特殊文件;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;

public class Test {
    public static void main(String[] args) throws Exception {
        // 1. 创建一个properties的对象出来(键值对集合,空容器)
        Properties properties = new Properties();
        System.out.println(properties);

        // 2. 开始加载属性文件中的键值对数据到properties对象中去
        properties.load(new FileReader("E:\\studyproject\\text1\\demo02\\src\\aaa.properties"));

        System.out.println(properties); // // 拿到了全部Properties文件键值对转成的对象

        // 3.根据键取值
        System.out.println(properties.getProperty("username"));
        System.out.println(properties.getProperty("password"));

        // 4.遍历全部的键和值
        Set<String> keys = properties.stringPropertyNames();
        for (String key : keys) {
            String value = properties.getProperty(key);
            System.out.println(key+"---->"+value);
        }
        System.out.println("---------------");
        // 也可以通过foreach
        properties.forEach((k,v)->{
            System.out.println(k+"---->"+v);
        });

    }
}

将键值对数据存储到Properties文件中去

package org.example.特殊文件;

import java.io.FileReader;
import java.io.FileWriter;
import java.util.Properties;
import java.util.Set;

public class Test2 {
    public static void main(String[] args) throws Exception {
        // 1. 将键值对数据存入到Properties文件中去
        Properties properties = new Properties();
        properties.setProperty("张无忌","minmin");
        properties.setProperty("张翠山","susu");
        properties.setProperty("name","你好");
        properties.setProperty("age","18");

        // 2. 将Properties对象中的键值对数据存入到属性文件中去
        // 参数二是注释信息,随便填写就行(这个管道不需要关闭,内部会自动关闭)
        properties.store(new FileWriter("E:\\studyproject\\text1\\demo02\\src\\aaa.properties"),"练习");
    }
}
上一篇:【C++】---STL之list的模拟实现-五、完整代码


下一篇:Oracle 监控 SQL 精选 (一)