16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

7.1 Die abstrakten Klassen InputStream und OutputStream<br />

7.1.1 InputStream<br />

Aufgabenbeschreibung<br />

Mit dieser Klasse können Leseoperationen e<strong>in</strong>es Bytestroms verwirklicht wer<strong>de</strong>n.<br />

Woher die Bytes kommen und wie sie beför<strong>de</strong>rt wer<strong>de</strong>n, spielt ke<strong>in</strong>e Rolle. Sie<br />

müssen <strong>de</strong>m e<strong>in</strong>lesen<strong>de</strong>n Objekt nur zur Verfügung stehen. Die Aufgabe <strong>de</strong>r Klasse<br />

InputStream ist die Repräsentation von Klassen, die E<strong>in</strong>gaben aus verschie<strong>de</strong>nen<br />

Quellen produzieren.<br />

Klasse Funktion Argument für <strong>de</strong>n Konstruktor<br />

Nutzungsmöglichkeit<br />

ByteArrayInputStream<br />

E<strong>in</strong> Puffer im arbeitsspeicher Der Puffer aus <strong>de</strong>m Bytes geholt<br />

wird ald E<strong>in</strong>gabestrom benutzt. wer<strong>de</strong>n.<br />

Als Datenquelle. Verbun<strong>de</strong>n mit<br />

e<strong>in</strong>em FileInputStream-Objekt<br />

kann daraus e<strong>in</strong> nützliches<br />

Str<strong>in</strong>gBufferInputStream<br />

Konvertiert e<strong>in</strong>en Str<strong>in</strong>g <strong>in</strong> e<strong>in</strong>en<br />

InputStream<br />

469<br />

Interface gestaltet wer<strong>de</strong>n.<br />

E<strong>in</strong> Str<strong>in</strong>g. Die zugrun<strong>de</strong>liegen<strong>de</strong><br />

Implementierung benutzt e<strong>in</strong>en<br />

Str<strong>in</strong>gBuffer.<br />

Als Datenquelle. Verbun<strong>de</strong>n mit<br />

e<strong>in</strong>em FiIeInputStream-Objekt<br />

kann daraus e<strong>in</strong> nützliches<br />

Interface gestaltet wer<strong>de</strong>n.<br />

FileInputStream Dient zum Lesen aus e<strong>in</strong>er Datei E<strong>in</strong> Str<strong>in</strong>g <strong>de</strong>r <strong>de</strong>n Date<strong>in</strong>amen<br />

enthält o<strong>de</strong>r e<strong>in</strong> File- bzw.<br />

FileDescriptor-Objekt<br />

Als Datenquelle. Verbun<strong>de</strong>n mit<br />

PipedInputStream Produziert Daten für <strong>de</strong>n<br />

PipedOutputStream (implentiert<br />

das „Pipe“-Konzept.<br />

SequenceInputStream<br />

Abb.: E<strong>in</strong>gabestrom-Typen<br />

Konvertiert zwei o<strong>de</strong>r mehrere<br />

„InputStream“-Objekte <strong>in</strong> e<strong>in</strong>en<br />

e<strong>in</strong>zelnen InputStream.<br />

Quellen zu e<strong>in</strong>em E<strong>in</strong>gabestrom können se<strong>in</strong>:<br />

1. E<strong>in</strong> Array von Bytes<br />

2. E<strong>in</strong> Zeichenketten-Objekt<br />

3. E<strong>in</strong>e Datei<br />

4. E<strong>in</strong>e „Pipe“<br />

e<strong>in</strong>em FilterInputStream-Objekt<br />

kann daraus e<strong>in</strong> nützliches<br />

Interface gestaltet wer<strong>de</strong>n.<br />

PipedOutputStream.<br />

Als Datenquelle im<br />

Multithread<strong>in</strong>g. Verbun<strong>de</strong>n mit<br />

e<strong>in</strong>em FilterInputStream-Objekt<br />

kann daraus e<strong>in</strong> nützliches<br />

Interface gestaltet wer<strong>de</strong>n.<br />

Zwei InputStream-Objekte o<strong>de</strong>r<br />

e<strong>in</strong>e Enumeration für e<strong>in</strong>en<br />

Conta<strong>in</strong>er von InputStream-<br />

Objekten.<br />

Als Datenquelle. Verbun<strong>de</strong>n mit<br />

e<strong>in</strong>em FilterInputStream-Objekt<br />

kann daraus e<strong>in</strong> nützliches<br />

Interface gestaltet wer<strong>de</strong>n.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!