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();

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Einfach und übertragbar: Mit Java-Streams Daten lesen und schreiben

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *