Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Klasse java.io.ObjectOutputStream1.1

java.lang.Object
   |
   +--java.io.OutputStream
         |
         +--java.io.ObjectOutputStream

Deklaration

public class ObjectOutputStream
extends java.io.OutputStream
implements java.io.ObjectOutput, java.io.ObjectStreamConstants

Beschreibung

ObjectOutputStream implementiert das Interface ObjectOutput und bietet somit die Möglichkeit, mit der Methode writeObject() Objekte zu serialisieren und in den darunterliegenden Stream zu schreiben. Zusätzlich stellt diese Klasse die Methode defaultWriteObject() zur Verfügung, die in der Methode writeObject() einer Klasse dazu benutzt werden kann, ein Objekt nach den standardmäßigen Regeln zu serialisieren.


 
Geschachtelte Klassen
public abstract staticObjectOutputStream.PutField     [1.2]
 
Konstruktoren
publicObjectOutputStream(OutputStream out)
protectedObjectOutputStream()     [1.2]
 
Methoden
protected voidannotateClass(Class cl)
protected voidannotateProxyClass(Class cl)     [1.3]
public voidclose()
public final voiddefaultWriteObject()
protected voiddrain()     [1.2]
protected final booleanenableReplaceObject(boolean enable)
public voidflush()
public PutFieldputFields()     [1.2]
protected ObjectreplaceObject(Object obj)
public voidreset()
public voiduseProtocolVersion(int version)     [1.2]
public voidwrite(byte[] b)
public voidwrite(int data)
public voidwrite(byte[] b, int off, int len)
public voidwriteBoolean(boolean data)
public voidwriteByte(int data)
public voidwriteBytes(String data)
public voidwriteChar(int data)
public voidwriteChars(String data)
protected voidwriteClassDescriptor(ObjectStreamClass desc)     [1.3]
public voidwriteDouble(double data)
public voidwriteFields()     [1.2]
public voidwriteFloat(float data)
public voidwriteInt(int data)
public voidwriteLong(long data)
public final voidwriteObject(Object obj)
protected voidwriteObjectOverride(Object obj)     [1.2]
public voidwriteShort(int data)
protected voidwriteStreamHeader()
public voidwriteUnshared(Object obj)     [1.4]
public voidwriteUTF(String data)


 

Konstruktoren im Detail

public ObjectOutputStream(OutputStream out)
Erzeugt einen neuen ObjectOutputStream auf dem Stream out.
Exception: IOException
protected ObjectOutputStream()     [1.2]
Dieser Konstruktor kann von Unterklassen benutzt werden, die eine andere Implementierung zum Speichern von Objekten realisieren wollen. Dieser Konstruktor setzt die Berechtigung enableSubclassImplementation voraus, die mit einer SerializablePermission gesetzt werden kann.

 

Methoden im Detail

protected void annotateClass(Class cl)
Diese Methode wird für jede Klasse bei ihrem ersten Auftreten bei der Serialisierung eines Objekt-Graphen aufgerufen und erlaubt es, eine Klasse durch eine andere zu ersetzen. Das Gegenstück zu dieser Methode ist ObjectInputStream.resolveClass().
Exception: IOException
protected void annotateProxyClass(Class cl)     [1.3]
Diese Methode wird für jede Proxy-Klasse bei ihrem ersten Auftreten bei der Serialisierung eines Objekt-Graphen aufgerufen und erlaubt es, eine Klasse durch eine andere zu ersetzen. Das Gegenstück zu dieser Methode ist ObjectInputStream.resolveProxyClass().
Exception: IOException
public void close()
Schließt den Stream.
Exception: IOException
public final void defaultWriteObject()
Schreibt ein Objekt gemäß den Regeln des Serializable-Interfaces in den darunterliegenden Stream.
Exception: IOException
protected void drain()     [1.2]
Schreibt alle noch gepufferten Daten in den darunterliegenden Stream, ohne dessen flush()-Methode aufzurufen.
Exception: IOException
protected final boolean enableReplaceObject(boolean enable)
Diese Methode gestattet es dem Stream in Abhängigkeit vom Parameter enable, bei der Serialisierung ein Objekt durch ein anderes zu ersetzen. Das Ersetzen von Objektreferenzen ist nur gestattet, falls dieser ObjectOutputStream von einem ClassLoader geladen wurde.
Exception: SecurityException
public void flush()
Bewirkt, dass noch gepufferte Daten in den Stream geschrieben werden.
Exception: IOException
public PutField putFields()     [1.2]
Liefert ein PutField-Objekt, in das die Werte der abzuspeichernden Datenelemente eingetragen werden können. Durch Aufruf von writeFields() werden die eingetragenen Werte in den Stream geschrieben.
Exception: IOException
protected Object replaceObject(Object obj)
Diese Methode wird für jedes Objekt, das serialisiert wird, aufgerufen und erlaubt es, anstelle des zu schreibenden Objekts obj ein anderes abzuspeichern. Hierzu muß diese Methode so überschrieben werden, daß sie entweder ein Ersatzobjekt für obj liefert oder obj zurückgibt, falls das Objekt belassen werden soll.
Exception: IOException
public void reset()
Verwirft alle bisher ausgegebenen Daten und versetzt das Stream-Objekt in den Initialzustand. Im darunterliegenden Stream wird eine Marke gesetzt, so daß der ObjectInputStream, der die Daten liest, entsprechend synchronisieren kann. Alle bis zu diesem Zeitpunkt geschriebenen Daten werden erneut in den darunterliegenden Stream ausgegeben.
Exception: IOException
public void useProtocolVersion(int version)     [1.2]
In Version 1.2 wurde das Datenformat der Object Serialization abwärtsinkompatibel geändert. Mit dieser Methode kann der Stream so umgestellt werden, daß er das alte Format benutzt. Für version muß eine der PROTOCOL_VERSION-Konstanten von ObjectStreamConstants übergeben werden.
Exception: IOException
Exception: IllegalStateException
Exception: IllegalArgumentException
public void write(byte[] b)
Schreibt den gesamten Inhalt von b in den Stream.
Exception: IOException
public void write(int data)
Schreibt das niederwertigste Byte von data in den Stream.
Exception: IOException
public void write(byte[] b, int off, int len)
Schreibt len Bytes ab dem Index off aus dem Array b in den Stream.
Exception: IOException
public void writeBoolean(boolean data)
Schreibt den boolean-Wert data in den Stream.
Exception: IOException
public void writeByte(int data)
Schreibt das niederwertigste Byte von data in dem Stream.
Exception: IOException
public void writeBytes(String data)
Schreibt den String data als eine Folge von byte-Werten in den Stream.
Exception: IOException
public void writeChar(int data)
Schreibt die niederwertigen 2 Bytes von data in dem Stream.
Exception: IOException
public void writeChars(String data)
Schreibt den String data als Folge von char-Werten in den Stream.
Exception: IOException
protected void writeClassDescriptor(ObjectStreamClass desc)     [1.3]
Schreibt den Klassendeskriptor desc in den Stream.
Exception: IOException
public void writeDouble(double data)
Schreibt den double-Wert data in den Stream.
Exception: IOException
public void writeFields()     [1.2]
Schreibt die Datenelemente des zuletzt abgerufenen PutFields-Objekts in den Stream.
Exception: IOException
public void writeFloat(float data)
Schreibt den float-Wert data in den Stream.
Exception: IOException
public void writeInt(int data)
Schreibt den int-Wert data in den Stream.
Exception: IOException
public void writeLong(long data)
Schreibt den long-Wert data in den Stream.
Exception: IOException
public final void writeObject(Object obj)
Schreibt das Objekt obj in den Stream.
Exception: IOException
protected void writeObjectOverride(Object obj)     [1.2]
Mit dieser Methode kann eine Unterklasse ein eigenes Verfahren zum Speichern von Objekten implementieren. Wenn die Unterklasse in ihrem Konstruktor den parameter-freien Konstruktor dieser Klasse aufruft, wird intern ein Flag gesetzt, durch das die Methode writeObject() automatisch diese Methode aufruft und dann zurückkehrt. Die Neuimplementierung erfolgt durch Überschreiben dieser Methode.
Exception: IOException
public void writeShort(int data)
Schreibt den short-Wert data in den Stream.
Exception: IOException
protected void writeStreamHeader()
Schreibt den Header des Objektstreams. Kann überschrieben werden, um ein eigenes Header-Format zu implementieren.
Exception: IOException
public void writeUnshared(Object obj)     [1.4]
Diese Methode ist im wesentlichen identisch mit writeObject(). Im Gegensatz zu writeObject() wird bei dieser Methode sichergestellt, dass das Objekt von keinen anderen Objekten referenziert wird, die in den Stream geschrieben werden.
public void writeUTF(String data)
Schreibt den String data in den Stream, wobei die Unicode-Zeichen von data mit der UTF-8-Codierung verschlüsselt werden.
Exception: IOException


 Inhaltsverzeichnis   Vorhergehendes Paket   Seite Zurück   Seite Vor   Nächstes Paket   Paketübersicht   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.