Posted: April 16th, 2009 | Filed under: Programmieren | Tags: an Datei anhängen, beschreiben, File, FileWriter, flush, in Datei schreiben, Java, Java Datei schreiben, Java FileWriter, Stream, write | 15 Comments »
Heute möchte ich euch zeigen wie man mittels Java einfach man einen Text in eine Datei schreiben kann. Das ganze wird über den FileWriter realisiert. Dieser kann verschieden genutzt werden. Zum einen ist es möglich eine vorhandene Datei zu überschreiben, zum anderen kann ein Text an eine bereits bestehende Datei angehängt werden. Wie das funktioniert zeige ich euch im Quelltext.
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterExample {
FileWriter writer;
File file;
public void schreiben(){
// File anlegen
file = new File("FileWriterTest.txt");
try {
// new FileWriter(file ,true) - falls die Datei bereits existiert
// werden die Bytes an das Ende der Datei geschrieben
// new FileWriter(file) - falls die Datei bereits existiert
// wird diese überschrieben
writer = new FileWriter(file ,true);
// Text wird in den Stream geschrieben
writer.write("Hallo Wie gehts?");
// Platformunabhängiger Zeilenumbruch wird in den Stream geschrieben
writer.write(System.getProperty("line.separator"));
// Text wird in den Stream geschrieben
writer.write("Danke mir gehts gut!");
// Schreibt den Stream in die Datei
// Sollte immer am Ende ausgeführt werden, sodass der Stream
// leer ist und alles in der Datei steht.
writer.flush();
// Schließt den Stream
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
FileWriterExample fileWriterExample = new FileWriterExample();
fileWriterExample.schreiben();
}
} |
Hier könnt ihr euch den Quelltext (FileWriterExample.java) herunterladen.
Hallo…!!!
Sehr gut…
ganz gut..
Vielen Dank.
grüß
Rama
Hallo,
kannst du mir erklären, wie man in eine NICHT-LEERE Datei schreibt, bzw in eine schon bestehende Datei etwas anhängt?
lg,
Felix
In eine bestehende Datei etwas anhängen steht bereists im Quelltext:
new FileWriter(file ,true) – falls die Datei bereits existiert werden die Bytes an das Ende der Datei geschrieben
Deine erste Frage verstehe ich nicht ganz^^
jo, da ist ein Fehler, sollte mal wer korrigieren…
new FileWriter(file, true) –> append (ans Ende anhängen)
new FileWriter(file, false) –> rewrite (altes löschen und neue Datei)
der Kommentar oben sagt ja leider das Gegenteil…
Danke hat mir sehr geholfen ! 🙂
Sehr gute Anleitung, viel besser als „viel Theorie und wenig Code“, wie es in meisten Anleitungen ist 🙂
Gute Anleitung, aber wo liegt diese Datei? Also wo würde im Fall des Beispiels die Datei „FileWriterTest“ liegen?
yep genau FileWriterTest.txt
Vielen Dank!
Die Anleitung hat mir sehr geholfen 🙂
Hallo. Kann man auch noch das Datum und die Uhrzeit mit ausgeben lassen? Eine Art Logfile.
Klar zum Beispiel so (ungetestet):
SimpleDateFormat formatter = new SimpleDateFormat(„yyyy.MM.dd – HH:mm:ss „);
Date currentTime = new Date();
writer.write(formatter.format(currentTime));
Bei mir klappt das nicht.
Ich hab versucht so eine schreiben Methode in ein Applet zu integrieren, damit der einen Namen speichert, den er beim nächsten mal wieder laden soll (sofern vorhanden)…
Aber er will sich nichtmal speichern.
DANKE habe gestern mit Java angefangen 😀
us deinem Quelltext ging für mich irgendwie nicht ganz hervor, wie man es nun schafft des der Rest, der schon in der Datei steht, nicht verloren geht.
Danke, eine sehr gute Anleitung.