Einfach und übertragbar: Mit Java-Streams Daten lesen und schreiben

Normalerweise wird automatisch ein Input-Stream geöffnet, wenn er vom entsprechenden Datenquellenobjekt abgerufen wird oder wenn man eines der Reader-Objekte erzeugt. Um beispielsweise den Input-Stream für eine Datei zu öffnen, übergibt man einfach den Namen der Datei wie folgt an den Konstruktor des java.io.FileReader-Objekts:

Um das nächste verfügbare Byte aus dem einem FileReader zugrundeliegenden Input-Stream zu lesen, verwendet man einfach die read-Methode ohne Parameter. Der Codeausschnitt in Listing A liest Text aus einer Datei, Zeichen für Zeichen, und schreibt ihn an System.out.

Listing A

Um eine bestimmte Anzahl von Bytes aus einem Input-Stream in ein char-Array einzulesen, verwendet man die read-Methode mit einem char[]-Parameter. Dabei wird die Länge des Arrays benutzt, um die Anzahl der zu lesenden Zeichen zu bestimmen. Listing B demonstriert diese Technik.

Listing B

Mit der Methode close wird der Input-Stream geschlossen. Damit sind die von ihm beanspruchten Systemressourcen wieder frei.


fileReader.close();

Daten schreiben

Ebenso wie ein Input-Stream wird auch ein Output-Stream normalerweise automatisch geöffnet, wenn er vom entsprechenden Datenquellenobjekt abgerufen wird oder wenn man eines der Writer-Objekte erzeugt. Um etwa den Output-Stream einer Datei zu öffnen, übergibt man einfach den Namen der Datei wie folgt an den Konstruktor des java.io.FileWriter-Objekts:

Zum Schreiben eines bestimmten Zeichens in einen Output-Stream, lässt sich die write-Methode mit einem int-Parameter anwenden. Der int-Parameter stellt das zu schreibende Zeichen dar.


int aChar = (int)'X';
fileWriter.write(aChar);

Um eine bestimmte Anzahl von Bytes ab einem gegebenen Offset von einem festgelegten char-Array in einen Output-Stream zu schreiben, braucht man die write-Methode mit einem char[]-Parameter, einem int-Parameter für den Offset sowie einem weiteren int-Parameter für die Länge, wie das folgende Beispiel zeigt:


fileWriter.write(buffer, 0, byteCount);

Damit ein Output-Stream geschlossen werden kann und die von ihm beanspruchten Systemressourcen wieder frei werden, benutzt man die Methode close:


fileWriter.close();

Alle zwischengespeicherten Daten eines Output-Streams werden gelöscht, wenn man die flush-Methode folgendermaßen verwendet:


fileWriter.flush();

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Chrome 131 schließt zwölf Sicherheitslücken

Eine schwerwiegende Anfälligkeit hebelt die Sicherheitsfunktion Seitenisolierung auf. Betroffen sind Chrome für Windows, macOS und…

4 Tagen ago

DeepL Voice mit KI für Sprach- übersetzungen

DeepL Voice ermöglicht Live‑Übersetzung von Meetings und Gesprächen in 13 Sprachen.

4 Tagen ago

November-Patchday: Microsoft schließt Zero-Day-Lücken in Windows

Betroffen sind Windows und Windows Server. Microsoft patcht aber auch Schwachstellen in Excel, Word und…

5 Tagen ago

LG zeigt elastisches OLED-Display

Es lässt sich um bis zu 50 Prozent dehnen. Allerdings besitzt es eine deutliche geringere…

5 Tagen ago

BSI zu Cybersicherheit: Bedrohungslage bleibt angespannt

Allerdings nimmt auch die Resilienz gegenüber Cyberattacken zu. Das BSI hat außerdem die Cybersicherheit anstehender…

5 Tagen ago

IT-Ausgaben in Europa steigen 2025 voraussichtlich um 8,7 Prozent

Es ist das größte Wachstum in einem Jahr seit 2021. Unter anderem lässt das Interesse…

6 Tagen ago