16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

7.2 Gefilterte Ströme<br />

Die Klassen FilterInputStream und FilterOutputStream zum Verknüpfen<br />

von Strömen.<br />

Diese Klassen ermöglichen das Verknüpfen von Strömen, ke<strong>in</strong>e neuen Metho<strong>de</strong>n.<br />

Der große Vorteil liegt <strong>in</strong> <strong>de</strong>r Verb<strong>in</strong>dung mit e<strong>in</strong>em an<strong>de</strong>ren Strom. Die<br />

Konstruktoren für <strong>de</strong>n FilterInputStream und <strong>de</strong>n FilterOutputStream<br />

haben <strong>de</strong>shalb InputStream- und OutputStream-Objekte als Parameter:<br />

protected FilterInputStream(InputStream e<strong>in</strong>)<br />

public FilterOutpuStream(OutputStream aus)<br />

Nützliche Subklassen von FilterInputStream s<strong>in</strong>d:<br />

Klasse Funktion Konstruktor-Argumente<br />

Nutzungsmöglichkeit<br />

DataInputStream<br />

Ermöglicht das E<strong>in</strong>lesen von InputStream<br />

primitiven Typen<br />

Enthält e<strong>in</strong> Interface für das<br />

lesen primitiver Typen<br />

BufferedInputStream Gepuffertes E<strong>in</strong>lesen InputStream mit optionale<br />

L<strong>in</strong>eNumberInputStream Verfolgt die zeilennummer im<br />

E<strong>in</strong>gabestrom. Die Metho<strong>de</strong><br />

getL<strong>in</strong>eNumber()<br />

und<br />

setL<strong>in</strong>eNumber(<strong>in</strong>t) können<br />

verwen<strong>de</strong>t wer<strong>de</strong>n<br />

PushbackInputStream Hat e<strong>in</strong>en Byte großen<br />

„Pushback“-Puffer, das letzte<br />

gelesene Zeichen kann <strong>in</strong> <strong>de</strong>n<br />

strom zurückgelegt wer<strong>de</strong>n.<br />

Abb.: „FilterInputStream“-Typen<br />

Nützliche Subklassen von FilterOutputStream s<strong>in</strong>d:<br />

Angabe <strong>de</strong>r Puffergröße<br />

InputStream<br />

Fügt e<strong>in</strong>e Zeilennummerierung<br />

h<strong>in</strong>zu<br />

InputStream<br />

Braucht <strong>de</strong>r <strong>Java</strong>-Compiler<br />

Klasse Funktion Konstruktor-Argumente<br />

Nutzungsmöglichkeit<br />

DataOutputStream Ausgabe primitiver Typen OutputStream<br />

Erlaubt das Schreiben primitiver<br />

Typen<br />

Pr<strong>in</strong>tStream Produziert formatierte Ausgabe. OutputStream<br />

Formatierte Ausgabe<br />

BufferedOutputStream<br />

Abb.: „FilterOutputStream“-Typen<br />

Gepufferte Ströme<br />

Gepufferte Ausgabe, <strong>de</strong>r Puffer<br />

kann mit flush() geleert wer<strong>de</strong>n<br />

OutputStream<br />

Gepufferte Ausgabe<br />

Gepufferte Ströme wer<strong>de</strong>n mit <strong>de</strong>r Klasse BufferedInputStream für die E<strong>in</strong>gabe und<br />

BufferedOutputStream für die Ausgabe realisiert:<br />

public BufferedInputStream(InputStream e<strong>in</strong>)<br />

public BufferedInputStream(InputStream e<strong>in</strong>, <strong>in</strong>t puffergroesse)<br />

public BufferedOutputStream(OutputStream aus)<br />

public BufferedOutputStream(OutputStream aus, <strong>in</strong>t puffergroesse)<br />

472

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!