Fileinhalt wird überschrieben

witness

Grünschnabel
Hi

Habe ein paar JTextFields, deren Inhalte nach drücken eines Buttons in ein txt file geschrieben werden....das klappt auch wunderbar. Wenn ich jetzt den Button ein zweites mal drücke, überschreiben die neuen Daten die Alten.....
Habe ich da ein Statement vergessen?
Für Hilfe wäre ich sehr dankbar....

Gruss und Dank

witness
 
Hallo Wittness,
im Normalfall, werden bestehend Dateien überschrieben, wenn Du das nicht willst, mußt du dich selber darum kümmern. Z.B. mit der Klasse File prüfen, ob eine bestimmte Datei schon besteht.

Willst du den Neuen Text an den bestehenden anängen, oder willst du ein neues File anlgegen. Wenn du mal ein bischen Quelltext posten könntest, wäre das nicht schlecht.
 
möchte den text hinter den vorhandenen anhängen....

Code:
 try {
			PrintWriter f = new PrintWriter(new BufferedWriter(new FileWriter(dateiname)));
			f.print(datumText.getText());
			f.print(gewichtText.getText());
			f.print(kilometerText.getText());
			f.print(minutenText.getText());
			f.print(kalorienText.getText());
			f.print(pulsText.getText());
			f.print(bemerkungText.getText());
			//f.println(help);
			f.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
 
Zuletzt bearbeitet:
OK, habe ich soweit verstanden, hier mal eine Methode, die sowas könnte:

Code:
	public boolean saveTextToFile(File datei,String text, boolean override){
        FileWriter out=null;
        BufferedWriter bw =null;
        try {
            out = new FileWriter(datei,override);
            bw = new BufferedWriter(out);
            bw.write(text);
            bw.close();
            out.close();
            return true;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            return false;
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }
        return false;
	}

Damit sollte es gehen,
der Aufruf sieht dann wie folgt aus:
saveTextToFile(new File("c:/myFile.txt"),"Ich bin der Text", true);

Der dritte Parameter (true) steht für anhängen, setzt du hier false, wird die Datei überschrieben.

Probiers mal :)
 
Zurück