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:
- InputStream für eingehende Daten und
- OutputStream für ausgehende Daten.
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 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
Reader
[Bearbeiten]Abgeleitete Klassen von Reader:
- BufferedReader
- LineNumberReader
- CharArrayReader
- FilterReader
- PushbackReader
- InputStreamReader
- FileReader
- PipedReader
- StringReader
Writer
[Bearbeiten]Abgeleitete Klassen von Writer:
- BufferedWriter
- CharArrayWriter
- FilterWriter
- OutputStreamWriter
- FileWriter
- PipedWriter
- PrintWriter
- StringWriter