1 2 3 4

全网最细Properties详解(自封的)

Properties详解

在讲解properties类时,我们首先要清楚一个概念:

什么是Properties文件?

你可能不知道properties文件,但你一定知道txt文件

txt文件是一种后缀为. txt的文本文件,是微软在操作系统上附带的一种文本格式,是最常见的一种文件格式

properties文件是一种后缀为.properties的文本文件,在Java中常被用作配置文件

这种文件以<key(键),value(值)>的格式来存储内容/参数配置,Java中可以使用Properties类来读取这个文件

Properties类

Properties类存在于Java.util.Properties包下,就像上面所说的一样,该类的主要作用是读取Java的properties配置文件

在API中如下所示:

properties

汉化版如下:

properties汉化

好,现在我们知道了:

  • properties是一种文件
  • Properties类是Java中用来处理properties文件的类

那么我们该如何用Properties类来处理properties文件呢?

Properties文件处理

我们要处理properties文件就要用到Properties类,要用到一个类首先要干嘛?

我们需要至少一个Properties对象

代码如下:

//实例化一个Properties对象
Properties pros = new Properties();

OK,现在我们已经有了一个Properties对象,那么我们该如何用该对象往properties文件写数据呢?

不过在此之前,我们还得先想想现在有properties文件吗,好像并没有,所有我们还需要创建properties文件

在这里我们需要用到IO流异常的相关基础知识(不过俺暂时还没写,如果写了俺会挂上链接)

代码如下:

//创建一个test1.properties文件并通过文件输出流写入
FileOutputStream fos = new FileOutputStream("test1.properties");
//引入Writer,可以明确该输出流的字符集,确保写入配置文件的中文编码正确(utf-8格式)
OutputStreamWriter ops = new OutputStreamWriter(fos,"utf-8");

好,现在我们已经有了一个名为test1的properties文件,现在我们要往里面写数据了,在这里我们需要用到Properties类中的setProperty方法

该方法API如下:

setProperty

代码如下:

//将需要写入的属性内容通过set方法,存入properties对象中
pros.setProperty("name","一呆");
pros.setProperty("age","18");
pros.setProperty("money","0");

现在我们已经往里面写数据了,但这个数据只是临时数据,所以我们还需要保存数据,在这里我们需要用到Properties类中的store方法

该方法API如下:

store

代码如下:

//调用properties的存储方法
pros.store(ops,"测试数据");

在最后,我们需要释放使用的资源,换句话说,我们需要关闭资源

代码如下:

//关闭资源
ops.close();
fos.close();

我们现在总结一下要对properties文件进行处理都要干些啥:

  1. 需要Properties对象
  2. 需要创建properties文件(通过IO流)
  3. 需要进行异常处理
  4. 需要通过Properties类中的setProperty方法往properties文件里写数据
  5. 需要通过Properties类中的store方法保存写入properties文件的数据
  6. 需要关闭资源

完整代码如下:

public class PropertiesTest {
    @Test
    public void propertiesTest(){
        //1.先实例化一个Properties对象
        Properties pros = new Properties();
        try {
            //2.创建一个输出流对象
            FileOutputStream fos = new FileOutputStream("test1.properties");
            //3.引入Writer,可以明确该输出流的字符集,确保写入配置文件的中文编码正确
            OutputStreamWriter ops = new OutputStreamWriter(fos,"utf-8");
            //4.将需要写入的属性内容通过set方法,存入properties对象中
            pros.setProperty("name","一呆");
            pros.setProperty("age","18");
            pros.setProperty("money","0");
            //5.调用properties的存储方法
            pros.store(ops,"测试数据");
            //6.关闭资源
            ops.close();
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

创建的properties文件如下:

properties文件

这些都是基础知识,暂时先写这么多(单纯想偷懒而已)~

持续更新ing~

posted @ 2021-07-19 15:49  草帽将军一呆  阅读(1149)  评论(0编辑  收藏  举报