Zum Inhalt springen

Werte properties auslesen


laya_c

Empfohlene Beiträge

Hallo

Ich weiß grad nicht weiter..

wie kann ich am besten alle Werte einer properties Datei auslesen (getProperty) und diese in ein TextArea schreiben?

Ich schaffe es nur, dass mir die letzten Werte ins TextArea geschrieben werden..

danke

laya

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tja, was hast Du denn bisher? Mit der Klasse Properties kannst Du ja die Daten aus einer Datei einlesen (Methode load()), mit keys() oder keySet() oder elements() holst Du dir alle Schlüssel (= Property-Namen), und mit diesen kannst Du dann über getProperty() oder get() die Werte ermitteln. Wenn Dir die Schlüssel egal sind, kannst Du auch gleich mit values() arbeiten (oder mit entrySet, dann erhältst Du komplette Map.Entry Objekte).

Du hast also alle Möglichkeiten der Welt und wir müssen jetzt nur noch wissen, was Du genau machst und welchen Fehler Du erhältst, damit wir Dir helfen können.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

danke für deine Antwort.

Das Problem was ich habe ist das ich in meiner Properties mehrere gleiche keys (wen das so heisst) stehen habe. Also

Name=Name1

Name=Name2

Name=Name3

Jetzt möchte ich mir alle gerne alle Namen in ein TextArea ausgeben lassen.

Mit getProperty bekomme ich nur den letzten Eintrag geliefert.

Schleife geht auch nicht und das ganze in ein Array speichern klappt auch nicht.

Hat jdm eine Idee?

Danke

laya

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schleife geht auch nicht und das ganze in ein Array speichern klappt auch nicht. Hat jdm eine Idee?
Wenn du in der Lage bist die Aussage "geht nicht" so zu formulieren, dass man auch versteht was du probiert hast und was daran nicht geklappt hat - vielleicht.

Solange du aber nicht mal das Problem beschreiben kannst: Nö!

Link zu diesem Kommentar
Auf anderen Seiten teilen

In einer Schleife einfach die komplette Datei durcharbeiten und die Keys vergleichen.

prop.elements().nextElement()

Oder einfach eindeutige Keys verwenden, denn deswegen sind es ja Keys...

Wenn nur nur stumpf Daten speichern und laden willst dann nutze eine CSV oder XML Datei.

Properties sind nun mal Properties. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

danke für die Antworten

Ich habe es mit normalen Arrays versucht und mit ArrayList.

Glaub ich brauch die Liste. Ich weiß einfach nicht, wie ich die Werte in die ArrayList bekommen.

ArrayList <String> liste = new ArrayList<String>();

liste.?

Wenn ich es mit nextElement in einer Schleife versuche, bekomm ich immer gleiche Einträge...immer den letzten....wie soll ich die vergleichen?...

Danke. Sry alles noch neu für mich

laya

Link zu diesem Kommentar
Auf anderen Seiten teilen

danke für die Antworten

ArrayList <String> liste = new ArrayList<String>();

liste.?

liste.add( text );

Wenn ich es mit nextElement in einer Schleife versuche, bekomm ich immer gleiche Einträge...immer den letzten....wie soll ich die vergleichen?...

Stimmt.... habe mich geirrt. Ich habe das mal debugt und gemerkt das es garnicht geht. Die Properties können immer nur einen Wert für jeden Schlüssel verarbeiten. Diese elements() Methode bringt da nix.

Also erzeuge dir halt eine Textdatei in der du die Daten ablegst und einliest, oder eine XML Datei (lesen/schreiben mit DOM oder SAX).

Viel Erfolg! ;)

Edit: beim erstellen und einlesen kannst du das bei den Properties auch über eine Zählschleife machen und die Keys hochzählen. Also "key1=foo" "key2=bar" ... (ACHTUNG! dirty!) :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was Du willst, geht mit Properties nicht. Bei Properties gibt es nur einen Wert pro Schlüssel, das hast Du ja bereits gemerkt. Bevor Du jetzt mit irgendwelchen komplizierten XML-Lösungen anfängst: Lies die Datei selbst zeilenweise ein und werte sie aus. Für jede Zeile trennst Du Schlüssel und Wert (String#split()), schaust nach, ob Du für den Schlüssel schon einen Eintrag hast, und wenn nicht, legst Du einen neuen an. Wenn Du schon einen entsprechenden Wert hast, dann merk Dir diesen auch noch.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich weiß einfach nicht, wie ich die Werte in die ArrayList bekommen.
Hast du dich denn schonmal mit der API-Dokumentation beschäftigt? Da hättest du z.B. http://java.sun.com/javase/6/docs/api/java/util/List.html#add(E) gefunde.

Generell halte ich es für eine verdammt schlechte Vorgehensweise dir hier "bröckchenweise" die benötigten Informationen zu holen anstatt erst einmal in Ruhe die Dokumentation (z.B. auch http://tinyurl.com/ohzrjn) durchzulesen. Du willst schließlich auch verstehen, was die einzelnen Methodenaufrufe wirklich bewirken, oder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...