Java 中的属性文件

Rupam Yadav 2023年1月30日 2022年4月27日
  1. 在 Java 属性文件中创建和设置值
  2. 从 Java 属性文件中获取属性
  3. 从 Java 属性文件中获取所有键和值
Java 中的属性文件

Java 中的属性是我们需要在 Java 应用程序中使用的配置值。

属性文件是在键值对中包含这些值的文件。这种类型的文件通常具有 .properties 扩展名。

在 Java 属性文件中创建和设置值

在本教程的第一部分,我们编写了一个程序来创建一个属性文件,然后将属性设置为键值对。

Java 为我们提供了 java.util 包的 Properties 类,其中包含几个方法来执行设置或删除属性、列出所有属性等操作。

在我们继续设置属性之前,我们需要从它所在的目录中获取文件属性,如果它不存在,我们创建一个新文件。我们创建一个 FileOutputStream() 对象,并在其构造函数中传递属性文件的路径,该构造函数返回一个 OutputStream 实例。

我们使用 new Properties() 创建一个 Properties 对象并调用 setProperty() 方法来设置文件中的属性值。setProperty() 方法有两个参数,第一个是键,第二个是值。

在示例中,我们设置了三个属性,最后将属性存储在文件中,我们调用 store() 方法将 outputStream 和可选注释作为参数传递。应该创建属性文件并在其中插入属性。

import java.io.*;
import java.util.Properties;

public class JavaExample {

    public static void main(String[] args) {
        try {

            OutputStream outputStream = new FileOutputStream("myConfigs.properties");

            Properties properties = new Properties();

            properties.setProperty("version", "1.1");
            properties.setProperty("projectName", "PropertiesFileExample");
            properties.setProperty("date", "2021/12/27");
            properties.store(outputStream, "Properties are stored here");

            System.out.println(properties);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

输出:

{date=2021/12/27, projectName=PropertiesFileExample, version=1.1}

myConfigs.properties 文件:

#Properties are stored here
#Mon Dec 27 16:52:38 IST 2021
date=2021/12/27
projectName=PropertiesFileExample
version=1.1

从 Java 属性文件中获取属性

本节使用 Properties 类及其方法从属性文件中提供特定属性。与前面的示例不同,我们使用 InputStream 而不是 OutputStream,因为我们在此程序中读取文件。

我们创建一个 Properties 类的对象,调用 load() 方法,并将 InputStream 对象作为其参数传递。加载文件后,我们调用 getProperty() 函数并传递我们要获取的值的键。

我们得到值作为我们在输出中打印的结果。

import java.io.*;
import java.util.Properties;

public class JavaExample {

    public static void main(String[] args) {
        try {

            InputStream inputStream = new FileInputStream("myConfigs.properties");

            Properties properties = new Properties();
            properties.load(inputStream);
            
            System.out.println(properties.getProperty("date"));

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

输出:

2021/12/27

从 Java 属性文件中获取所有键和值

list()Properties 类的函数,用于将属性打印到输出流。我们在程序中读取属性文件,创建一个 Properties 对象,并使用 load() 函数加载文件。

要打印属性,我们调用 list() 方法并将 System.out 作为参数传递,该参数是在控制台上打印的输出流。

import java.io.*;
import java.util.Properties;

public class JavaExample {

    public static void main(String[] args) {
        try {

            InputStream inputStream = new FileInputStream("myConfigs.properties");

            Properties properties = new Properties();

            properties.load(inputStream);
            properties.list(System.out);

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

输出:

-- listing properties --
date=2021/12/27
projectName=PropertiesFileExample
version=1.1
Author: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn