Konto-Historie speichern/lesen

GamerGurke15

Mitglied
Hallo Community,
Ich versuch mich gerade an einem eigenen kleinen "Konto". Das bedeutet, dass ich ein Programm schreiben will, welches mir die Möglichkeit bietet ein Konto mit Zinzen etc. zu erstellen.
Dabei ist aber mein Problem, dass ich in einer Datei bestimmte Daten speichern möchte(wie z.B. aktuelles Datum, den Kontostand, den Zinzsatz und so weiter). Nun ist meine Frage, wie es möglich ist, in einer Zeile mehrer Daten durch ein Leerzeichen oder ähnlichem getrennt speichern kann und dann beim nächsten Start des Programms diese Zeile wieder lesen kann und auch in der nächsten Zeile ähnliche Daten wieder zu Speichern. Wenn es mit einer Text-Datei geht, dann sollte die z.B. so aussehen:

19.07.2012|2.5|300
20.07.2012|1.8|434
oder so ähnlich.

Bis jetzt habe ich nur eine Sache in einer Textdatei speichern können und dies wie es mir scheint sehr umständlich:
Java:
FileOutputStream schreibe = new FileOutputStream(dateiName);
		for (int i=0; i < Kontostand.length(); i++)
		{
			schreibe.write((byte)Kontostand.charAt(i));
		}
		schreibe.close();

Vielen Dank schon mal im Vorraus
LG Niklas
 
Hallo,

ich hab dir mal eine Methode geschrieben, die man zum Beispiel für so etwas benutzen könnte.

Java:
public void writeFile(String datum, double zinssatz, int kontostand){
		try {
			BufferedWriter writer = new BufferedWriter(new FileWriter("text.txt", true));
			writer.append(datum + "|" + zinssatz +  "|" + kontostand + "\n");
			writer.close();
		} catch (IOException e) {
			
			e.printStackTrace();
		}		
	}

Hierbei müssen die entsprechenden Parameter übergeben werden, diese werden dann in einer Textdatei text.txt gespeichert.
 
ahh, cool, danke ich denke das ist das was ich gesucht habe. Aber wie kann man dann auch immer nur die letzt Zeile auslesen??
Trotzdem Vielen Dank.
 
Zuletzt bearbeitet:
So ich hab jetzt noch etwas zu laden der letzten Zeile verfasst. Ich hab allerdings die Trenner auf ";" Semikolon geändert. Mit dem anderen wollte es net so wie ich, ich hoffe das ist kein Problem. 🙂

Die Methode zum schreiben und lesen würde nun so aussehen.

Java:
import java.io.*;


public class Test2 {

	public void writeFile(String datum, double zinssatz, int kontostand){
		try {
			BufferedWriter writer = new BufferedWriter(new FileWriter("text.txt", true));
			writer.append(datum + ";" + zinssatz +  ";" + kontostand + "\n");
			writer.close();
		} catch (IOException e) {
			
			e.printStackTrace();
		}		
	}
	
	public void loadFile(){
		
		String datum = null;
		double zinssatz = 0;
		int kontostand = 0;
		
		try{
			BufferedReader reader = new BufferedReader(new FileReader("text.txt"));
			String zeile = null;
			
			while((zeile = reader.readLine()) != null){

				String[] arrayOfStrings = zeile.split(";");
								
				if(arrayOfStrings.length >0){
					datum = arrayOfStrings[0];
					zinssatz = Double.parseDouble(arrayOfStrings[1]);
					kontostand = Integer.parseInt(arrayOfStrings[2]);
					
					
				}
			}
			System.out.println("datum: " + datum + " zinssatz: " + zinssatz + " kontostand: "+ kontostand);
			
		}catch (IOException e) {
			e.printStackTrace();
		}
	}
}
 

Zurück
Oben