Datei schreiben in Java
Oeffne Store.java und schreib Buchstaben in note.txt mit FileWriter. Pack tea und einen Zeilenumbruch in die Datei, dann close den Writer. Kompiliere mit javac Store.java und starte java Store. Der Bildschirm bleibt leer — die Buchstaben landen in der Datei, nicht im Terminal. Eine zweite Demo schreibt oak genauso und ersetzt alles, was schon drin war. Lass Paths fuer die naechste Seite; diese Lektion speichert nur kurzen Text mit FileWriter.
Tea speichern und Bildschirm leer halten
Die Lese-Seite oeffnete eine Datei mit oak. Hier erstellst oder ersetzt du den Text aus dem Programm. Oeffne Store.java. Halte den oeffentlichen Klassennamen Store passend zum Dateinamen. Loesche uebrige Reader-Scanner-Demos, Signal-throws, Guard-catch-Bloecke und Scanner auf System.in. Das Programm darf nicht auf Tippen warten. Diese Seite braucht Import-Zeilen zum Schreiben.
Oben behalten:
import java.io.FileWriter;
import java.io.IOException;
Markiere main mit throws IOException. In main oeffne den Dateinamen:
FileWriter out = new FileWriter("note.txt");
Schreib eine kurze Zeile:
out.write("tea\n");
Beende das Speichern:
out.close();
Ruf in dieser ersten Uebungsdatei kein System.out.println auf. Der leere Bildschirm gehoert zur Lektion: Schreiben ist nicht Drucken.
import java.io.FileWriter;
import java.io.IOException;
public class Store {
public static void main(String[] args) throws IOException {
FileWriter out = new FileWriter("note.txt");
out.write("tea\n");
out.close();
}
}
Im Ordner fuer note.txt nach dem Lauf fuehre javac Store.java aus. Passt alles, schreibt javac nichts Eigenes. Dann java Store — nicht java Store.java. Fehlt FileWriter, fehlt oder ist die Import-Zeile falsch.
Das Terminal bleibt leer — richtig so. Oeffne danach note.txt im Editor: Zeile eins soll tea sein. Druckt das Terminal oak oder wartet auf Tastatur, laeuft noch Reader — wechsle zu java Store. empty von IllegalArgumentException heisst Signal-Ueberrest; blocked oder after heisst Guard-Ueberrest.
close beendet das Speichern. Vor close gilt die Zeile nicht sicher gespeichert. Nach close bleiben die Buchstaben in note.txt. Dieser FileWriter oeffnet zum Schreiben und ersetzt alten Inhalt. Kein Scanner oder nextLine beim Speichern.
Geh den Lauf durch: Store.main, FileWriter auf note.txt, write mit tea, close, nichts drucken. Ohne close wirkt die Datei unvollstaendig. Starte aus dem Ordner, in dem note.txt erscheinen soll.
Spaeteres Schreiben ersetzt aeltere Buchstaben
Ein zweites Programm startet neu mit gleicher Form. Es nutzt weiter FileWriter auf note.txt, aber der Text ist oak statt tea.
import java.io.FileWriter;
import java.io.IOException;
public class Store {
public static void main(String[] args) throws IOException {
FileWriter out = new FileWriter("note.txt");
out.write("oak\n");
out.close();
}
}
Kompiliere mit javac Store.java, dann java Store. Wieder leerer Bildschirm. Danach enthaelt note.txt oak, nicht tea. Die alte Zeile wurde ersetzt — kein Append auf dieser Seite. Der Dateiname muss stimmen: note.txt.
Mit der Reader-Demo der Vor-Seite kannst du pruefen: nach dem Oak-Schreiben sollte Lesen oak zeigen. Kleb Reader nicht in Store.java. Schreiben und Lesen bleiben getrennte Dateien.
Keine Paths-API hier — nur der String "note.txt" neben der Klasse. Naechste Seite: Pfade als eigenes Thema.
Verglichen mit Lesen auf Reader
Auf der Files-Seite druckte java Reader eine Plattenzeile oder stoppte mit FileNotFoundException. Hier legt java Store Buchstaben selbst ab. Lesen und Schreiben sind getrennte Jobs. Reader-Dateien nur als Historie; fuer Schreib-Demos java Store.
Neu: FileWriter und write. close zaehlt wie Scanner.close beim Lesen. close weglassen ist ein haeufiger Fehler nach erfolgreichem javac.
Was fuer paths offen bleibt
Diese Seite speichert kurzen Text mit einfachem Dateinamen neben der Klasse. Die naechste Seite fuehrt Pfade ein. Bleib bei FileWriter, write, close. Noch keine Pfad-Objekte auf den Store-Demos.
Vor paths
Du kannst tea in note.txt schreiben und leeren Bildschirm sehen, waehrend die Datei die Zeile haelt. Dann oak schreiben und ersetzen. Kompiliere Store.java und starte java Store fuer jede Demo. Naechste Seite: paths.
Tea-Schreiben fuer klaren ersten Speicher, Oak fuer klares Ersetzen, Pfad-APIs weg von dieser Seite. Zeigt note.txt nach dem zweiten java Store oak, ist Schreiben fertig und du bist bereit fuer Pfade.
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt