laya_c Geschrieben 9. Mai 2009 Geschrieben 9. Mai 2009 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 Zitieren
kingofbrain Geschrieben 11. Mai 2009 Geschrieben 11. Mai 2009 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 Zitieren
laya_c Geschrieben 11. Mai 2009 Autor Geschrieben 11. Mai 2009 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 Zitieren
perdian Geschrieben 11. Mai 2009 Geschrieben 11. Mai 2009 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ö! Zitieren
zui2000 Geschrieben 11. Mai 2009 Geschrieben 11. Mai 2009 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. Zitieren
laya_c Geschrieben 11. Mai 2009 Autor Geschrieben 11. Mai 2009 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 Zitieren
zui2000 Geschrieben 11. Mai 2009 Geschrieben 11. Mai 2009 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!) Zitieren
kingofbrain Geschrieben 12. Mai 2009 Geschrieben 12. Mai 2009 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 Zitieren
perdian Geschrieben 12. Mai 2009 Geschrieben 12. Mai 2009 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? Zitieren
laya_c Geschrieben 12. Mai 2009 Autor Geschrieben 12. Mai 2009 Ich werde das wohl nochmal überdenken müssen... Danke für die Hilfe und die Links.... Grüße laya Zitieren
Empfohlene Beiträge
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.