[Java] int oder boolean aus property file ermitteln

...komplette Frage anzeigen

3 Antworten

Laut Internet gibt getProperty() einen String zurück.

Wenn dein Property eine Zahl enthält kannst du sie mit

int deinezahl = Integer.parseInt(string);

in ein int konvertieren. Bei den anderen Datentypen wie Boolean, double und long ist das ähnlich, da gibts auch entsprechende Methoden. Wenn ein Inhalt erkannt wird der konvertiert werden kann wird die Methode das machen, ansonsten eine Exception werfen.

die Properties-Datei speichert die daten vermutlich immer als String, daher musst du auch dementsprechend prüfen. Wie schon in einer anderen antwort steht, kannst du mit Integer.parseInt(String) aus einem String ein int machen. In manchen fällen gibt es auch spezielle Methoden, um die Properties direkt im richtigen Format auszulesen, so wie 'properties.getIntProperty("tries")'. Schau einfach mal in der Autovervollständigung, ob du da was findest.

Um die vielen hintereinander kommenden if-Blöcke zu vermeiden, verwende am besten ein switch:

try {
  int tries = Integer.parseInt(properties.getProperty("tries"));
  switch(tries) {
     case 1:
        // code für tries == 1
        break;
     case 2:
        // code für tries == 2
        break;
     default:
        // wird ausgeführt, wenn kein case gefunden wurde
  }
} catch (NumberFormatException e) {
   // wird ausgeführt, wenn Property String keine Zahl war
}

wenn du einen boolean abfragst, macht man man das mit if(xy.getProperty("isActive") == true){ }

bei String mit equals, wie du es schon richtig gemacht hast. versuch dir doch mal das Ergebnis zu loggen. oder ne getType-Methode zu bekommen. du müsstest herausfinden, mit Hilfe von API's oder deiner IDE, welchen Type die Methode getProperty zurückwirft.

Was möchtest Du wissen?