Daten in eine Datei ausgeben/auslesen. Problem

WaterJoeTux

Grünschnabel
hallo zusammen!
vorweg schon mal...... ich habe nicht sehr viel ahnung von java, bin im ersten ausbildungsjahr. hab aber so von den grundkenntnissen, denke ich, das meiste kennengelernt.
es geht um ein kleines programm, welches wir für die schule schreiben müßen.
es ist ein bankkonto editor. das programm ist schlicht aufgebaut, es wird kein swing benutzt nur awt (so waren die anforderungen des lehrers). es ist (hoffe ich doch) nach den MVC model aufgebaut. ich will dieses programm etwas erweitern. bis jetzt hab ich nur mehrere Arrays vom typ String (für Namen), int (Kontonr), double (Kontostand) usw. dort sind also die Kundendaten (nur 3) hinterlegt. d.h. jedes mal wenn ich das programm starte, sind die daten alle vorgeben, ich kann sie lediglich verändern und ausgeben aber nicht abspeichern.
und hier ist auch schon mein problem.
ich würde gerne alle daten in einer textdatei abgespeichert haben, welches dann das programm ausliest und bei veränderungen (also wenn ein Kontoinhaber z.B. eine Transaktioen durchführt, wie geld auszahlen) auch die textdatei aktualiesiert und abspeichert.
ich weiß nicht genau wie ich das anstellen soll......
meine datei sieht z.B. so aus (so hab ich mir das vorgestellt)

Müller (Name)*
1234567 (Kontonr) *
29000.00 (Kontostand)*

* die inhalte in den klammern,zusammen mit den klammern sind nicht in der datei

das sind nur die hauptdaten des Kunden. es sollen noch alle transaktionen die er durchführt mitgespeichert werden, d.h. "Datum", "Uhrzeit", "Transaktionstyp", " der überwiesene Betrag" usw.

wie schaffe ich es, diese Daten auszulesen?
mit welcher Methode kann ich z.B. zeilenweise einlesen um dann auf den "namen" zu prüfen? oder kann ich z.B. den Inputstream auf bestimmte zeichen hin prüfen ...... auf '\n' zum beispiel....... also Mülller'\n'1234567'\n'29000.00'\n' usw.
ich hab mir auch gedacht für jeden "Kunden" eine eigene Datei anzulegen, damit nicht eine große datei nach einen namen gesucht wird.

also wie gesagt, das problem liegt einfach auf das richtige abspeichern der datei bzw. auslesen, da ja alles in eine textdatei gespeichert werden soll. oder gibt es eine bessere lösung als die daten in eine textdatei zu speichern?auf eine Datenbank, z.B. Access (MS) zu zugreifen bzw. speichern möchte ich nicht, das haben schon andere realisiert.
ich hoffe ich konnte mein problem verständlich rüberbringen.

ich danke schon mal in vorraus und würde mich freuen, wenn mir einer helfen könnte.
 
Es gibt in Java das Konzept der Objektserialisierung .. Damit kannst du bequem komplette Objekte abspeichern und musst dir keinen Kopf über eine Dateistruktur etc. machen.

Unter diesem Link gibts eine ziemlich gute Beschreibung, wie man dies implementiert ..

Gruß Stefan
 
Prinzipiell schon. Habe allerdings oft selbst feststellen müssen: Sobald ich die Klasse erweitere, ist das seialisierte Objekt nicht mehr einlesbar - ist zwar javatechnisch korrekt, jedoch für z.B. für meinen Infrastrukturplaner (http://entwickler.webnobis.com) völlig ungeeignet. Will heißen: Ein definiertes Ausgabeformat (z.B. XML) schützt vor Einleseproblemen, da kann man dann bequem Standardfälle für erweiterte Objekte definieren und somit "alte" Objekte einfach wieder einlesen.

P.S.: In meiner nachfolgenden Version speichere ich dann auch das Arbeitsblatt im XML-Format, weil ich genau diese Serialisierungsprobleme hatte.
 
Zurück