I/O-streams


Praktikum Nr. 10:

Unter der URL Texte finden Sie Textdateien "Taxigeschichten" von Detwin Beck und Gedichte von W. Busch.
Sie erzählen vom 3. Oktober 1990, dem 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);
Sie sollten hier beim Lesen bis zum Ende der Geschichte von Frau Ministerialrat kommen.
Aternativ testen Sie das Lesen der Daten mit einem einzigen read.

Stream 2


Für ein zweites Experiment machen wir einen Vorgriff:
Übernehmen 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 mit 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 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.
Testen Sie hierzu auch den URL-Stream mit der Kasse URL und der Methode openStream.

Stream 4


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


A. Beck