- Java-Properties-Datei
-
Eine Java-Properties-Datei ist eine Textdatei, die in der Programmiersprache Java als einfacher Konfigurationsmechanismus verwendet wird. Eine Property (deutsch „Eigenschaft“) ist in diesem Zusammenhang ein Text, der unter einem bestimmten Namen abgelegt ist. Java-Properties-Dateien haben üblicherweise die Dateiendung „
.properties
“.Inhaltsverzeichnis
Struktur
Das folgende Beispiel zeigt einen Ausschnitt aus einer einfachen Konfigurationsdatei.
# Dies ist ein Kommentar ! Dies ist ebenfalls ein Kommentar wenig Text pi = 3.14 lang:de vieltext Dieser Text \ läuft über zwei Zeilen. paramText = Text mit dynamischem Parameter: {0}
Das Beispiel enthält zwei Kommentarzeilen und definiert fünf Werte für die Namen „
wenig
“ , „pi
“, „lang
“, „vieltext
“ und „paramText
“.Wie sich aus dem Beispiel erkennen lässt, gibt es Kommentarzeilen, die mit einem Doppelkreuz „
#
“ oder einem Ausrufezeichen „!
“ beginnen, und Datenzeilen, in denen ein Name und ein Text definiert werden.[1]Name und Text können auf drei Arten voneinander getrennt werden, wobei die Trennzeichen nicht zum Schlüssel oder Text gehören.[1]
- durch ein oder mehrere Leerzeichen: Im obigen Beispiel hat der Schlüssel „wenig“ den Wert „Text“.
- durch ein Gleichheitszeichen „
=
“, umgeben von keinem oder beliebig vielen Leerzeichen: Im obigen Beispiel hat der Schlüssel „pi“ den Wert „3.14“. - durch einen Doppelpunkt „
:
“, umgeben von keinem oder beliebig vielen Leerzeichen: Im obigen Beispiel hat der Schlüssel „lang“ den Wert „de“.
Ein umgekehrter Schrägstrich „
\
“ am Ende der Zeile bedeutet, dass der Text in der nächsten Zeile weitergeht.[1]Verwendung in Java-Programmen
Eine solche Java-Properties-Datei kann mittels der Klasse „
java.util.Properties
“ eingelesen werden. Anschließend können die definierten Werte über deren Methoden abgefragt werden. Das folgende Code-Fragment erzeugt ein Properties-Objekt, liest eine Datei namens „beispiel.properties
“ ein, und legt den Wert der Property „lang
“ in einer Variablen namens „sprache
“ ab.import java.io.FileInputStream; import java.io.BufferedInputStream; import java.util.Properties; … Properties properties = new Properties(); BufferedInputStream stream = new BufferedInputStream(new FileInputStream("beispiel.properties")); properties.load(stream); stream.close(); String sprache = properties.getProperty("lang");
Bei der
load
-Methode muss die AusnahmeIOException
abgefangen werden. Der Übersicht wegen wurde der Try-Catch-Block weggelassen.Internationalisierung
Eine nicht negative ganze Zahl in geschweiften Klammern „
{}
“ steht für einen Text, der zu Laufzeit des Programms ergänzt werden soll. Sinnvollerweise beginnen die Zahlen in den Klammern mit „0
“ und sind fortlaufend. Sie dürfen mehrfach sowie in beliebiger Reihenfolge auftreten. Solche Ersetzungen sind für die Internationalisierung oder Lokalisierung von Programmen sinnvoll, wo dynamisch zu erzeugende Textbestandteile in unterschiedlichen Sprachen an unterschiedlichen Stellen oder in unterschiedlicher Reihenfolge auszugeben sind.Die Ersetzung des Parameters kann mit folgendem Code realisiert werden:
String paramText = properties.getProperty("paramText"); String dynText = "dynamisch eingesetzter Text"; System.out.println(MessageFormat.format(paramText,dynText));
Ausgabe:
Text mit dynamischem Parameter: dynamisch eingesetzter Text
Bei mehreren Ersetzungsparametern muss für „dynText“ ein Array oder eine Menge mit den Ersetzungswerten übergeben werden.
Einzelnachweise
- ↑ a b c Properties (Java Platform SE 6). In: Java™ Platform, Standard Edition 6: API Specification. 2006, abgerufen am 10. Juli 2007.
Wikimedia Foundation.