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