Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


14.2.4

Eigene Properties


Neben dem Zugriff auf die vordefinierten Properties, ist es auch möglich, eigene Properties zu definieren. Sie enthalten meist benutzerdefinierte Konfigurationseinstellungen. Üblicherweise werden sie zusammen mit den Klassendateien abgelegt und können so als Ressource in die Anwendung geladen werden. Der Aufbau einer Property-Datei ist im Anhang C beschrieben.

Folgendes Beispiel zeigt, wie man in einer Anwendung eine eigene Property-Datei laden kann:
public GUIBuilder {

  public GUIBuilder() throws IOException {
    Properties p = new Properties();
    // Laden der Properties
    p.load(getClass().getResourceAsStream("gui.properties"));
    // Hier aufbauen der GUI mit den Einstellungen 
    // in der Property-Datei
    String imgName = p.getProperty("background.image");
    ...
  }

  ...
}
Der Ladevorgang wird im Beispiel im Konstruktor durchgeführt. Dort wird zunächst ein leeres Properties-Exemplar erzeugt, das anschließend mit der Methode load() geladen wird. load() erwartet als Parameter ein Exemplar der Klasse InputStream, aus dem die Einstellungen im Property-Format gelesen werden. Über das Konstrukt
 getClass().getResourceAsStream("gui.properties")
wird relativ zur aktuellen Klassendatei (GUIBuilder) die Properties-Datei gui.properties geladen und als Stream zurückgegeben. Dieser Stream kann nun zum Laden des leeren Property-Exemplars benutzt werden, indem er der load()-Methode übergeben wird. Anschließend kann man über die Methode getProperty() auf die Einstellungen zugreifen.

Ein Auszug aus einer GUI-Konfiguration könnte z. B. folgendermaßen aussehen:
  button.edit.x=200
  button.edit.y=20
  button.edit.width=60
  button.edit.height=20
  background.image=back.gif
Die Verwendung von derartigen Property-Dateien macht meist nur dann Sinn, wenn die Konfiguration einmal beim Deployment der Anwendung durchgeführt und später nicht mehr geändert wird, denn die Property-Datei wird auf diese Weise als Teil der Klassen (z. B. in einer Jar-Datei) ausgeliefert und sollte nicht vom Endanwender editiert werden. Der Zugriff auf solche Property-Dateien ist nur lesend möglich. Die Speicherung der Datei relativ zu einer Klassendatei ist nicht möglich. Wenn man in einer Anwendung selbst eine Property-Datei schreiben will, muss die Schreiboperation über File-Streams realisiert werden, die direkt auf das Dateisystem zugreifen.

Bis einschließlich JDK 1.3 wurden Property-Dateien auch zur Speicherung von Benutzereinstellungen in Java-Anwendungen benutzt. Seit dem J2SDK 1.4 wurde zu diesem Zweck allerdings das Preferences-API neu eingeführt.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.