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. E<strong>in</strong>- und Ausgabe<br />

In <strong>Java</strong> wer<strong>de</strong>n E<strong>in</strong>-, Ausgabeoperationen über sog. Datenströme 333 realisiert. Es<br />

stehen zur Behandlung <strong>de</strong>s Datenstrommo<strong>de</strong>lls zwei abstrakte Klassen zur<br />

Verfügung: InputStream und OutputStream. Die bei<strong>de</strong>n Klassen gehören zu<br />

<strong>de</strong>m Paket java.io 334 , das bei je<strong>de</strong>m Programm mit E<strong>in</strong>-/Ausgabeoperationen<br />

importiert wer<strong>de</strong>n muß.<br />

E<strong>in</strong>fache Strom-Metho<strong>de</strong>n erlauben nur das Versen<strong>de</strong>n von Bytes mit Hilfe von<br />

Datenströmen 335 . E<strong>in</strong> nicht <strong>in</strong>terpretierbarer Bytestrom kann von je<strong>de</strong>r beliebigen<br />

Quelle kommen. Quelle bzw. Ziel <strong>de</strong>s Stroms s<strong>in</strong>d völlig verschie<strong>de</strong>ne Erzeuger bzw.<br />

Verbraucher von Bytes.<br />

Allgeme<strong>in</strong>e Metho<strong>de</strong>n, die von je<strong>de</strong>r beliebigen Quelle lesen können, akzeptieren e<strong>in</strong><br />

Stromargument zur Bezeichnung <strong>de</strong>r Quelle. Allgeme<strong>in</strong>e Metho<strong>de</strong>n zum Schreiben<br />

akzeptieren e<strong>in</strong>en Strom zur Zielbestimmung. Filter haben zwei Stromargumente. Sie<br />

lesen vom ersten, verarbeiten die Daten und Schreiben <strong>in</strong>s zweite.<br />

Zum Sen<strong>de</strong>n/Empfangen verschie<strong>de</strong>ner Datentypen gibt es die Schnittstellen<br />

DataInput und DataOutput. Sie legen Metho<strong>de</strong>n zum Sen<strong>de</strong>n/Empfangen<br />

an<strong>de</strong>rer <strong>Java</strong>-Datentypen fest. Mit Hilfe <strong>de</strong>r Schnittstellen ObjectInput und<br />

ObjectOutput lassen sich ganze Objekte über e<strong>in</strong>en Strom sen<strong>de</strong>n.<br />

Alle Metho<strong>de</strong>n, die sich mit E<strong>in</strong>- und Ausgabeoperationen beschäftigen, wer<strong>de</strong>n <strong>in</strong><br />

<strong>de</strong>r Regel mit throws IOException abgesichert. Diese Subklasse von Exception<br />

enthält alle potentiellen I/O-Fehler, die bei <strong>de</strong>r Verwendung von Datenströmen<br />

auftreten können.<br />

Die I/O-Exceptions können direkt mit e<strong>in</strong>em try-catch-Block aufgefangen o<strong>de</strong>r an<br />

übergeordnete Metho<strong>de</strong>n weitergegeben wer<strong>de</strong>n.<br />

333 Der Begriff Strom kommt aus <strong>de</strong>m Betriebssystem Unix und bezieht sich auf „Pipes“. E<strong>in</strong>e Pipe ist e<strong>in</strong> nicht<br />

<strong>in</strong>terpretierbarer Strom von Bytes, <strong>de</strong>r zur Kommunikation zwischen Programmen (bzw. „gegabelten Kopien“<br />

e<strong>in</strong>es Programms) o<strong>de</strong>r zum Lesen und Schreiben von verschie<strong>de</strong>nen Geräten und Dateien benutzt wird.<br />

E<strong>in</strong> Strom ist e<strong>in</strong> Kommunikationspfad zwischen <strong>de</strong>r Quelle und <strong>de</strong>m Ziel e<strong>in</strong>es Informationsblocks.<br />

334 Die Klasse java.io enthält e<strong>in</strong>e große Anzahl von Klassen zur E<strong>in</strong>-/Ausgabe. Die meisten dieser Klassen<br />

leiten sich von InputStream bzw. OutputStream ab.<br />

335 E<strong>in</strong> Strom von Bytes kann mit e<strong>in</strong>em Wasserstrom verglichen wer<strong>de</strong>n. Wird aus e<strong>in</strong>em Strom Wasser<br />

entnommen, dann wird er als E<strong>in</strong>gabestrom benutzt. Wird <strong>in</strong> e<strong>in</strong>en Strom Wasser geschüttet, dann wird er als<br />

Ausgabestrom verwen<strong>de</strong>t. Die Verb<strong>in</strong>dung von Strömen kann mit <strong>de</strong>m Verb<strong>in</strong><strong>de</strong>n von Wasserschläuchen<br />

verglichen wer<strong>de</strong>n.<br />

467

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!