EAD II – Übung 7
Dateiarbeit mit Java
Arbeit mit Dateien
! Einlesen und Ausgeben von Daten über Streams
Klassen FileReader und FileWriter zum Lesen
der Datenströme
! Klasse File bietet Methoden zum Zugriff auf eine
Dateien, z.B. Anlegen von Verzeichnissen,
Umbenennen usw.
! Dateien werden dauerhaft auf einem Datenträger
gespeichert
! Zusammenspiel zwischen Java und Betriebssystem –
während der Ausführung können Laufzeitfehler
auftreten
Behandlung von Laufzeitfehlern
! Exceptions sind Objekte mit Informationen über
Programmfehler
! Exception-Handler Programmabschnitt zum Schutz
von Anweisungen vor möglichen Fehlern, enthält
Anweisungen zur Meldung des Fehlers bzw. zum Umgang
damit
try {
eine oder mehrere geschützte Anweisungen
}
catch (Exception e) {
System.out.println(“Fehler“);
}
Arbeit mit Dateien
! Java verlangt Fehlerbehandlung bei Arbeit mit
Dateien, also try-catch-Konstrukt
! Dateidialog kann noch im ungeschützten
Programmteil stehen
! Zuweisung der Datenströme muss in den geschützten
Bereich
! erforderliche Pakete müssen importiert werden
import java.io.*;
//für File, Reader
import java.awt.*; //für Dialogfenster
Arbeit mit Dateien - Schreiben
! über Dateidialog die Dateien zum Speichern auswählen
! dann ausgewählte Datei an Dateivariable zuweisen
FileDialog dialog = new FileDialog(new Frame(), "Datei
öffnen", FileDialog.SAVE);
dialog.setVisible(true);
if (dialog.getFile() == null) return;
datei = new
File(dialog.getDirectory(),dialog.getFile());
Arbeit mit Dateien - Schreiben
! Verknüpfen der physischen Datei mit dem
StreamReader und Schreiben
try {
BufferedWriter ausgabe = new BufferedWriter(new
FileWriter(datei));
inhalt = “Das ist der Dateiinhalt.“;
ausgabe.write(inhalt);
ausgabe.close();
}
catch (Exception e) {
...
}
Arbeit mit Dateien - Lesen
! über Dateidialog die Dateien zum Öffnen auswählen
! dann ausgewählte Datei an Dateivariable zuweisen
FileDialog dialog = new FileDialog(new Frame(), "Datei
öffnen", FileDialog.LOAD);
dialog.setVisible(true);
if (dialog.getFile() == null) return;
datei = new
File(dialog.getDirectory(),dialog.getFile());
Arbeit mit Dateien - Lesen
! Verknüpfen der physischen Datei mit dem StreamReader und Lesen
try {
BufferedReader ein = new BufferedReader(new
FileReader(datei));
while (ein.ready() == true)
{
eingabe = ein.readLine();
System.out.println(eingabe);
}
ein.close();
}
catch (Exception e)
...
Arbeit mit Dateien
! BufferedReader und BufferedWriter lesen bzw.
schreiben Unicodezeichen
! Daten werden immer aus einem zugeordneten
Reader-Objekt bezogen oder in Writer-Objekt
geschrieben
! readLine() liest alle Zeichen bis zum Zeilenende
in einen String
! write() schreibt einen String in die Datei
! soll eine neue Teile begonnen werden, muss man
newLine() aufrufen