Textfile stansardiesiert einlesen

wpb

Erfahrenes Mitglied
Hallo!

Habe mein Problem schon n einem anderen Forum gepostet.
Da konnt mir aber keiner weiterhelfen
Vielleicht wisst ihr Rat.

Also ich möchte in einer Testdatei (.txt) Werte speicher.
Also es sollten imme 2 Werte zusammengehören.

Bsp.:

wert1;dazugehoeriger1
wert2;dazugehoeriger1
wert3;dazugehoeriger1
usw.

Die 2 Werte sollten mit Strichpunkt (oder Beistrich) getrennte werden.
Es geht darum, dass ich dann auch eine Suche sandardisiert durchführen möchte. Also nich beider Tabellen durchsuchen, sondern nur z.B.: wert* und nicht die
Spalte dazugehoerigerwert*

Ich gkaube zu wissen, dass es was fertiges gibt, um das Problem zu lösen.
Leider fällt mir der Name nicht mehr ein.
Kennt wer das? Oder vielleicht eine andere Lösung?

Danke!
 
Hallo!
Das Einzige was mir dazu einfällt wär ein RandomAccessFile. Mit dem könnte man sowas eventuell machen.
mfg flo
 
Hi,

meines Wissens kann man Textdateien nur zeilenweise einlesen.
dann kannst du in jeder Zeile deine Parameter (wert* und dazugehöriger*) mit einem StringTokenizer trennen und damit arbeiten.

Edit.: RandomAccessFile könnte allerdings (nach einem kurzen Blick in die API :) ) auch eine Möglichkeit sein
 
Zuletzt bearbeitet:
Dein Problem klingt ein wenig danach, als ob du dir mal die Properties-Klasse anschauen solltest. Die ist halt auch dafür gedacht String-Paare zu speichern und suchen kannst du auch problemlos zumindest nach dem linken von den beiden Werten. Ist halt von Hashtable abgeleitet und daher auch vermutlich effizienter als alles, was man sich selbst mal eben so schreiben könnte.

Nachteil bei der Sache: das ganze lässt sich wohl nicht als Textdatei speichern (bzw. ich hab mir noch nie angeschaut wie so eine gespeicherte Datei aussieht, aber ich denke, dass die nicht wirklich lesbar ist für Menschen), es besteht aber die Möglichkeit die Daten in XML abzulegen.
 
Hy!

Ja das mit der Properties-Klasse kling ja super.
So hab ich es mir vorgestellt.
Also werd ich das mal versuchen.
 
wenn man die properties in einer Textdatei ablegt ist diese nach folgendem Schema aufgebaut:

HTML:
name1=wert1
name2=wert2
name3=wert3
name4=wert4

die entsprechende XML Datei würde so aussehen

HTML:
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
<properties>  	
	<entry key="name1">wert1</entry>
	<entry key="name2">wert2</entry>
	<entry key="name3">wert3</entry>
	<entry key="name4">wert4</entry>
</properties>

sind eigentlich beide ganz gut lesbar nur der Wahlfreie zugriff ist mir neu ich sollte mal meinen Horizont erweitern :)
 
Zuletzt bearbeitet:
Das heißt, ich kann eine XML Datei anlegen die ich dann
aus dem Java Programm aus aufrufe.
Im Java Programm kann ich dann wie mit einer Hash Table arbeiten?
 
Im Java Programm kann ich dann wie mit einer Hash Table arbeiten?

Genau. Eine Propertie ist ja praktisch eine Hashtable (ist davon abgeleitet), also kann man auch genauso damit arbeiten.

sind eigentlich beide ganz gut lesbar nur der Wahlfreie zugriff ist mir neu ich sollte mal meinen Horizont erweitern :)

Das mit dem wahlfreien Zugriff kommt halt auf die Definition an. Wenn man wirklich nur nach was speziellem Suchen will ist so eine Hashtable natürlich praktisch. Aber wenn man eine bestimmte Ordnung braucht ... nunja, die existiert halt nicht, also macht's auch keinen Sinn Daten an bestimmten Stellen einfügen zu wollen.
Das mit dem Speichern ist schön. Ich wusste nicht, dass die so toll lesbar gespeichert werden. Nur dass es überhaupt geht die automatisch speichern und laden zu lassen :)
 
Zuletzt bearbeitet:
Ok, eine Frage stellt sich da noch für mich.

Wie kann ich die Keys durchlaufen? Also nach einem bestimmte Key suche?
Das muss ich wohl über die Enumeration machen?
 
Zurück