Java - Was ist ein Outputstream?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
This abstract class is the superclass of all classes representing an output stream of bytes. An output stream accepts output bytes and sends them to some sink.
Applications that need to define a subclass of OutputStream must always provide at least a method that writes one byte of output.

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html

Ein OutputStream schreibt rohe Daten (Bytes) an irgendeinen Ort (ein Sink). Das kann eine Datei sein, ein Gerät, ein Netzwerkinterface, etc. Die Klasse OutputStream kannst du nicht direkt instanziieren, da sie abstrakt ist. Von dieser Klasse wird lediglich extended, wie dies zum Beispiel die Klasse FileOutputStream macht. Diese Klasse ist dann darauf spezialisiert, etwas in eine Datei zu schreiben.

Der von dir genannte ObjectOutputStream ist darauf spezialisiert, Java-Objekte direkt in eine Datei zu speichern. Entsprechend gibt es auch den umgekehrten Weg mit dem ObjectInputStream, welcher die geschriebenen Daten wieder lesen kann. Wann benutzt man das? Wenn man kein Bock auf Serialisierung oder Datenbanken hat und seine Daten einfach irgendwie persistieren will.

https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/ObjectOutputStream.html

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung

objectoutputstream vergisst du lieber ganz schnell weil es bessere alternativen gibt.
fallst du doch nh erklärung haben willst: damit kannst du beispielsweise objekte in java als datei zwischenspeichern um sie später wiederzuverwenden.

also kurz gesagt es geht um datenspeicherung

outputstreams allgemein kannst du dir als ein dickes rohr vorstellen in denen du was reinstopfen kannst und am anderen ende rauskommt.

wenn du jz beispielsweise System.out.println() benutzt in java, benutzt du dieses rohr um die daten in den klammern in die konsole zu schreiben bzw. ins terminal

Woher ich das weiß:Berufserfahrung

ein OutputStream schreibt binäre Daten wohin (nicht zwingend in eine Datei). Dann gibt es noch die Writer für Text.

Und ein ObjectOutputStream serialisiert ein Java Objekt. Damit können dann Objektinstanzen binär geschrieben werden, um die später wieder einzulesen.

Output Stream = Eine schon zum Schreiben geöffnete Datei.