Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Werte properties auslesen

Empfohlene Antworten

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

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

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

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ö!

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. :)

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

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!) :)

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

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?

Ich werde das wohl nochmal überdenken müssen...

Danke für die Hilfe und die Links....

Grüße

laya

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.