Java Standard: Datenströme


Überblick

Bearbeiten

In Java wird die Datenverarbeitung durch Datenströme (engl. Streams) realisiert. Zu diesem Zweck gibt es zwei Oberklassen, welche die Basisfunktionalitäten bereitstellen:

Die Daten können dabei als geordnete Folge von einzelnen Bytes angesehen werden. Um die verschiedenen Funktionalitäten abzubilden gibt es schließlich eine Reihe von Implementierungen, die diese Oberklassen erweitern.

Insbesondere für die Nutzung von Textdateien stehen zwei weitere wesentliche Klassen zur Verfügung:

  • Reader für eingehende Daten und
  • Writer für ausgehende Daten.

Reader und Writer arbeiten hierbei auf Basis von UNICODE und somit des Datentyps char welcher zwei (!) Bytes repräsentiert.

InputStream

Bearbeiten

Der reine InputStream ist eine Abstrakte Java klasse. Von ihm werden folgende InputStreams abgeleitet:

  • AudioInputStream
  • ByteArrayInputStream
  • FileInputStream
  • FilterInputStream
BufferedInputStream
CheckedInputStream
CipherInputStream
DataInputStream
DeflaterInputStream
DigestInputStream
InflaterInputStream
GZIPInputStream
ZipInputStream
LineNumberInputStream
ProgressMonitorInputStream
PushbackInputStream
  • ObjectInputStream
  • PipedInputStream
  • SequenceInputStream
  • StringBufferInputStream

Der InputStream ist die Super Klasse und repräsentiert einen byte Strom. Die von ihm abgeleiteten Klassen sind auf bestimmte Bereiche spezialisiert, z.b. liest der ObjectInputStream Objekte für die Weiterverarbeitung ein.

OutputStream

Bearbeiten

Genau wie der InputStream ist auch der OutputStream eine Abstrakte Klasse in Java. Von ihm werden folgende Ströme abgeleitet:

  • ByteArrayOutputStream
  • FileOutputStream
  • FilterOutputStream
BufferedOutputStream
CheckedOutputStream
CipherOutputStream
DataOutputStream
DeflaterOutputStream
GZIPOutputStream
ZipOutputStream
DigestOutputStream
InflaterOutputStream
PrintStream
LogStream
  • ObjectOutputStream
  • PipedOutputStream

Abgeleitete Klassen von Reader:

  • BufferedReader
LineNumberReader
  • CharArrayReader
  • FilterReader
PushbackReader
  • InputStreamReader
FileReader
  • PipedReader
  • StringReader

Abgeleitete Klassen von Writer:

  • BufferedWriter
  • CharArrayWriter
  • FilterWriter
  • OutputStreamWriter
FileWriter
  • PipedWriter
  • PrintWriter
  • StringWriter