Klassen Properties
Properties
är en enkel klass för att lagra par av String
-objekt.
Klassen fungerar som ett lexikon dvs man kan använda den första strängen i paret som nyckel
och få reda på vad den andra strängen innehåller.
Exempel: Koden
producerar följande två rader:
Klassen ligger i paketet java.util
och bör alltså importeras.
Mycket användbart är att det går att fylla Properties
-objektet från en fil med metoden load
.
Exempel: I stället för att använda setProperty
som i exemplet ovan kan man man göra
(java.io.*
måste importeras och IOException
Om filen addresses.txt
t ex innehåller raderna
kommer satserna
Klassen ger ett
enkelt sätt att låta ett program läsa indata som t ex parametrar till en simulering från en fil.
Eftersom värden är String
-objekt så måste parametar som är tal tolkas. Det kan
göras genom att koppla ett Scanner
-objekt till värdesträngen eller
med parse
-metoderna i omslagsklasserna (typisk Integer
eller Double
).
Exempel:
Antag att filen parameters.txt
innehåller raderna
number : 10 x : 0.1 y : 1e10Om vi antar att
x
och y
är deklarerade som double
och
number
är deklarerad som int
så kan dessa värden
sättas av koden
(Anmärkning: parse
-metoderna i omslagsklasserna är tillåter inga blanktecken i strängen. Metoden load
tar bort alla blanka före texten men inte efter texten. Se alltså till att det inte ligger blanktecken eller annat efter värdet
på raderna i filen!)
Observera att det inte spelar någon roll i vilken ordning raderna i filen kommer eller i vilken ordning man frågar efter de olika egenskaperna.
På det här sättet kan man alltså köra ett program med olika uppsättningar av parametrar utan att behöva ändra och kompilera om koden. Man kan ändra i parameterfilen eller ha flera filer med olika parameteruppsättningar.
Andra möjligheter som klassen har är att ha defaultvärden på egenskaperna samt spara egenskaperna på en fil. Se javadokumentationen!