Java Reference
In-Depth Information
12.3.3 Die Klasse FilterWriter
Ein
FilterWriter
arbeitet immer mit einem anderen
Writer
-Objekt zusammen. Dieser
Writer
übernimmt den eigentlichen Schreibvorgang, z. B. in eine Datei. Der
Filter-
Writer
manipuliert zuvor die zu schreibenden Unicode-Zeichen.
Der
Writer
ist das einzige Attribut des Basisklasse
FilterWriter
. Der einzige Konstruk-
tor erwartet als Argument den
Writer
, mit dem er zusammenarbeiten soll. Der
Filter-
Writer
besitzt die fünf in
Tabelle 12.11
aufgelisteten Methoden.
Methode
Beschreibung
void close()
Schließt den Stream.
void flush()
Gepufferte Daten werden geschrieben.
void
write(int
c)
Schreibt die beiden niederwertigen Bytes als
Unicode-Zeichen in den Stream.
void
write(char[]
c,
int
offset,
int count)
Schreibt
count
Zeichen des
char
-Arrays
c
ab
Index offset in den Stream.
void
write(String
s,
int
offset,
int count)
Schreibt
count
Zeichen des Strings
s
ab Index
offset in den Stream.
Tabelle 12.11
Methoden der Klasse »FilterWriter«
Einen eigenen FilterWriter müssen Sie von der Basisklasse
FilterWriter
ableiten. Sie
müssen dabei die
write
-Methoden so implementieren, wie Sie die Manipulation der
Zeichen wünschen. Die Basisklasse kennt Methoden zum Schreiben eines einzelnen Zei-
chens, das als
int
übergeben wird. Sie kennt weiterhin zwei Methoden
write
zum
Schreiben einer Zeichenfolge aus einem Zeichen-Array bzw. aus einem String. Den
Methoden wird als Argument mitgegeben, ab welchem Index die Zeichen des Arrays
bzw. des Strings zu schreiben sind und wie viele Zeichen geschrieben werden sollen.
Zum Ableiten einer eigenen FilterWriter-Klasse sollten Sie die beschriebenen drei
write
-
Methoden nach Ihren Vorstellungen implementieren. Dabei ist die Methode zum
Schreiben eines Zeichens die entscheidende, da alle anderen Methoden auf diese
zurückgreifen. Alle weiteren Methoden können wie vererbt verwendet werden.
import java.io.FilterWriter;
import java.io.IOException;
import java.io.Writer;