I/O-streams


Praktikum Nr. 4:

Unter der URL Text finden Sie eine Textdatei "Taxigeschichten" von Detwin Beck.
Sie erzählen vom 3. Oktober 1990, einem Revolverhelden einer schönen Brasilianerin, vier Tschetschenen und schließlich einer Frau Ministerialrat. Bitte ingorieren Sie fehlerhafte Umlaute.
Sie können die Aufgaben alle schlicht in der main-Funktion bearbeiten. Dabei übernehmen Sie die Dateinamen oder die URL als Kommandozeilenparameter.
Laden Sie den Text in Ihr Arbeitsverzeichnis.

Stream 1


In einem Programm Stream1.java erzeugen Sie ein Objekt des Typs File. Mit Hilfe dieses Objektes ermitteln Sie die exakte Länge der Datei. Sodann erzeugen Sie ein Bytearray in dieser Länge, lesen die Daten und geben sie aus über
System.out.println(new String (myByteArray));

Zum Lesen der Daten verwenden Sie nachfolgendes Schleifenkonstukt:
while (bytesRead < size)
 bytesRead+=in.read(data,bytesRead,size-bytesRead);

Stream 2


Für ein zweites Experiment machen wir einen Vorgriff:
Übernhmen Sie nachfolgende Quellzeilen in Ihr Programm:
URL u = new URL(args[0]);
InputStream is= u.openStream();

len=is.available();
Legen Sie nun ein Bytearray der Länge len an und lesen Sie die len Bytes imit Hilfe des InputStream is direkt über das Netz.
Je nach Qualität der Netzverbindung werden Sie alles oder nur einen Teil des Textes lesen.

Stream 3


Schreiben Sie ein Programm Stream3, in dem Sie die Daten in Blöcken zu 128 Byte lesen und in einen ByteArrayOutputStream schreiben. Dieser passt sich in seiner Größe den Erfodernissen an. Über toByteArray oder toString können Sie die Daten ausgeben.

Stream 4


In einem Programm Stream4 bauen Sie das Beispiel Stream3 auf FileReader und CharArrayWriter um.


Es gibt einen Belegpunkt bei pünktlicher (KW18) und vollstädiger Abgabe. Das abzugebende Archiv soll die 4 Java-Quelldateien und die Testdatendatei enthalten.

A. Beck