Text in eine Datei schreiben (Java): Unterschied zwischen den Versionen
K |
K |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 29: | Zeile 29: | ||
=Logdatei schreiben= | =Logdatei schreiben= | ||
− | Wenn der in einer Datei enthaltene Text nicht überschrieben, sondern neuer Text ans Ende eines bestehenden Textes angehängt werden soll, ist nur der passende {{JAPI| | + | Wenn der in einer Datei enthaltene Text nicht überschrieben, sondern neuer Text ans Ende eines bestehenden Textes angehängt werden soll, ist nur der passende {{JAPI|FileWiter}}-Konstruktor zu wählen. |
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
− | File file = new File("Logfile.txt", true); //Text wird ans Dateiende angehangen | + | File file = new File("Logfile.txt"); |
+ | BufferedWriter writer = new BufferedWriter(new FileWriter(file, true)); //Text wird ans Dateiende angehangen | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | =Weiterführende Artikel= | ||
+ | *[[Streams (Java)]] |
Aktuelle Version vom 26. November 2018, 16:25 Uhr
Will man Text in eine neue Datei schreiben und diese speichern, benötigt man dazu ein Objekt der Klasse FileWriter
. Um die Effizienz von FileWriter zu erhöhen, sollte man ihn stets einem BufferedWriter
übergeben.
Die Konstruktoren von FileWriter erwarten als Eingabe ein gültiges File
-Objekt oder einen Dateinamen bzw. Dateipfad der Zieldatei.
Da dabei einiges schief gehen kann, müssen einige Anweisungen in try-catch-Blöcke eingebettet werden, um mögliche Ausnahmefehler (Exceptions) abzufangen.
import java.io.*;
File file = new File("Ausgabe.txt"); //Datei, in die geschrieben werden soll
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file)); //Erzeugen eines effizienten Writers für Textdateien
writer.write("Byte-Welt");
writer.newLine();
writer.write("Byte-Welt-Wiki");
writer.newLine();
writer.write("Java-Blog-Buch");
writer.newLine();
writer.write("Byte-Welt-Chat");
writer.close();
}
catch(IOException ioe) {
System.err.println(ioe);
}
Nach dem Schreiben muss der OutputStream geschlossen werden. Das Schließen des BufferedWriters bewirkt auch ein Schließen des eingebetteten FileWriters.
Logdatei schreiben
Wenn der in einer Datei enthaltene Text nicht überschrieben, sondern neuer Text ans Ende eines bestehenden Textes angehängt werden soll, ist nur der passende FileWiter
-Konstruktor zu wählen.
File file = new File("Logfile.txt");
BufferedWriter writer = new BufferedWriter(new FileWriter(file, true)); //Text wird ans Dateiende angehangen