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

Die Input/Output-Optionen (I/O) von Java stellen eine einfache, standardisierte API zum Lesen und Schreiben zeichen- oder bytebasierter Daten aus unterschiedlichen Datenquellen bereit. Im Folgenden sollen die I/O-bezogenen Klassen, Schnittstellen und Operationen vorgestellt werden, die die Java-Plattform bereitstellt. Vorab ist aber ein Blick auf Java-Streams nötig.

I/O-Streams

Alle Ein- und Ausgabeoperationen in Java basieren auf Streams, also auf dynamischen Abfolgen von Zeichen oder Bytes. Javas I/O-Streams bieten ein standardisiertes Verfahren zum Lesen und Schreiben von Daten. Dabei stellt jedes Objekt, das eine veränderbare Datenquelle in Java repräsentiert, seine Methoden zum Lesen und Schreiben von Daten als Stream zur Verfügung.

Für die meisten streambasierten I/O-Klassen ist java.io das wichtigste Paket. Es hält zwei abstrakte Klassen bereit, InputStream und OutputStream. Alle anderen streambasierten I/O-Klassen erweitern diese Basisklassen.

Das Paket java.io beinhaltet eine Reihe von Klassen und Interfaces, die nützliche Abstraktionen der grundlegenden Schreib- und Leseoperationen für Zeichen und Bytes darstellen, wie sie die Klassen InputStream und OutputStream definieren. Beispielsweise liefert die ObjectInputStream-Klasse Methoden, mit denen man Daten aus einem Stream als Java-Objekt lesen kann. Die ObjectOutputStream-Klasse bietet hingegen Methoden, mit denen man Daten als Java-Objekt in einen Stream schreiben kann.

Optimierte Lese- und Schreibvorgänge

JDK 1.1 bringt eine Reihe von Reader- und Writer-Klassen mit, die nützlichere Abstraktionen und eine verbesserte I/O-Performance bieten als die vorhandenen Stream-Klassen. So gibt es zum Beispiel die Klassen BufferedReader und BufferedWriter zum Lesen und Schreiben von Text mit zeichenbasierten Input- und Output-Streams. Die BufferedReader-Klasse buffert Zeichen zum effizienteren Lesen von Zeichen, Arrays und Zeilen. Entsprechend buffert die BufferedWriter-Klasse Zeichen zum effizienteren Schreiben von Zeichen, Arrays und Strings. Die Größe des von den beiden Klassen verwendeten Puffers kann je nach Bedarf eingestellt werden.

Zu den vom Java-I/O-Framework bereitgestellten Reader- und Writer-Klassen gehören unter anderem auch die Klassen LineNumberReader, CharArrayReader, FileReader, FilterReader, PushbackReader, PipedReader und StringReader. Diese Klassen sind Wrapper für die Klassen InputStream und OutputStream. Daher stellen sie ähnliche Methoden wie diese beiden Klassen zur Verfügung. Allerdings bieten sie effizientere und nützlichere Abstraktionen zum Lesen und Schreiben von bestimmten Objekten, etwa Dateien, Zeichenarrays oder Strings.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

29 Minuten ago

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

3 Tagen ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

3 Tagen ago

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

3 Tagen ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

4 Tagen ago

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

4 Tagen ago