Eigenschaftendatei in Java
- Erstellen und Festlegen von Werten in der Java-Eigenschaftendatei
- Abrufen einer Eigenschaft aus der Java-Eigenschaftendatei
- Abrufen aller Schlüssel und Werte aus der Java-Eigenschaftendatei
Eigenschaften in Java sind Konfigurationswerte, die wir in Java-Anwendungen verwenden müssen.
Eine Eigenschaftendatei ist eine Datei, die diese Werte in Schlüssel-Wert-Paaren enthält. Dieser Dateityp hat normalerweise die Erweiterung .properties
.
Erstellen und Festlegen von Werten in der Java-Eigenschaftendatei
Im ersten Abschnitt dieses Tutorials schreiben wir ein Programm, das eine Eigenschaftendatei erstellt und dann die Eigenschaften als Schlüssel-Wert-Paare festlegt.
Java stellt uns eine Properties
-Klasse des java.util
-Pakets zur Verfügung, die mehrere Methoden enthält, um Operationen wie das Setzen oder Entfernen von Eigenschaften, das Auflisten aller Eigenschaften usw. auszuführen.
Bevor wir mit dem Festlegen der Eigenschaften fortfahren, müssen wir die Dateieigenschaften aus dem Verzeichnis abrufen, in dem sie sich befinden, und wenn sie nicht vorhanden sind, erstellen wir eine neue Datei. Wir erstellen ein Objekt von FileOutputStream()
und übergeben den Pfad der Eigenschaftsdatei in ihrem Konstruktor, der eine OutputStream
-Instanz zurückgibt.
Wir erstellen ein Properties
-Objekt mit new Properties()
und rufen die setProperty()
-Methode auf, um die Property-Werte in der Datei zu setzen. Die Methode setProperty()
benötigt zwei Argumente, das erste ist der Schlüssel und das zweite der Wert.
Im Beispiel setzen wir drei Eigenschaften und speichern die Eigenschaften schließlich in der Datei, die wir mit der Methode store()
aufrufen, um den outputStream
und einen optionalen Kommentar als Argumente zu übergeben. Die Eigenschaftendatei sollte erstellt und die Eigenschaften darin eingefügt werden.
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();
}
}
}
Ausgabe:
{date=2021/12/27, projectName=PropertiesFileExample, version=1.1}
Datei myConfigs.properties
:
#Properties are stored here
#Mon Dec 27 16 : 52 : 38 IST 2021
date = 2021 / 12 / 27 projectName = PropertiesFileExample version = 1.1
Abrufen einer Eigenschaft aus der Java-Eigenschaftendatei
Dieser Abschnitt gibt eine bestimmte Eigenschaft aus der Eigenschaftendatei unter Verwendung der Klasse Properties
und ihrer Methoden an. Im Gegensatz zum vorherigen Beispiel verwenden wir InputStream
statt OutputStream
, weil wir die Datei in diesem Programm lesen.
Wir erstellen ein Objekt der Klasse Properties
, rufen die Methode load()
auf und übergeben das Objekt InputStream
als Argument. Sobald die Datei geladen ist, rufen wir die Funktion getProperty()
auf und übergeben den Schlüssel des Werts, den wir abrufen möchten.
Als Ergebnis erhalten wir den Wert, den wir in der Ausgabe ausgeben.
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();
}
}
}
Ausgabe:
2021/12/27
Abrufen aller Schlüssel und Werte aus der Java-Eigenschaftendatei
list()
ist eine Funktion der Klasse Properties
, die die Eigenschaften in einen Ausgabestrom ausgibt. Wir lesen die Properties-Datei im Programm, erstellen ein Properties
-Objekt und laden die Datei mit der load()
-Funktion.
Um die Eigenschaften zu drucken, rufen wir die Methode list()
auf und übergeben System.out
als Argument, das ein Ausgabestrom ist, der auf der Konsole gedruckt wird.
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();
}
}
}
Ausgabe:
-- listing properties --
date=2021/12/27
projectName=PropertiesFileExample
version=1.1
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