Un objet ObjectOutputStream écrit des types de données primitives et des graphes d'objets Java dans un objet OutputStream. Les objets peuvent être lus en utilisant un objet ObjectInputStream. Les objets de stockage persistant peuvent petre réalisés en utilisant un fichier pour le flux. Si ce dernier est un flux de socket de réseau, les objets peuvent etre reconstitués sur un autre hôte ou un autre processus.

Seulement les objets qui supportent l'interface java.io.Serializable peuvent être écrits dans des flux. La classe de chaque objet sérialisable est encodée en incluant le nom et la signature de la classe, les valeurs des tableaux et champs de l'objet, et la fermeture de n'importe quels autres objets référencés à partir des objets initiaux.

Les classes imbriquées
static class ObjectOutputStream.PutField
fournit un accès programmatique aux champs persistants pour être écrit vers l'objet ObjectOutput.

Les champs
Les champs hérités de l'interface java.io.ObjectStreamConstants
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2,
SC_BLOCK_DATA, SC_EXTERNALIZABLE, SC_SERIALIZABLE,
SC_WRITE_METHOD, STREAM_MAGIC, STREAM_VERSION,
SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION,
TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS,
TC_CLASSDESC, TC_ENDBLOCKDATA, TC_EXCEPTION, TC_LONGSTRING,
TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE,
TC_RESET, TC_STRING

Les constructeurs
protected ObjectOutputStream()
fournit une manière pour les sous-classes réimplémentant complètement l'objet ObjectOutputStream Provide a way for subclasses that are completely reimplementing ObjectOutputStream, pour ne pas allouer des données privées seulement utilisées par l'implémentation de l'objet ObjectOutputStream.
ObjectOutputStream(OutputStream out)
crée un objet ObjectOutputStream qui écrit dans l'objet OutputStream spécifié.

Les méthodes
protected void annotateClass(Class cl)
Les sous-classes peuvent implémenter la méthode annotateClass pour permettre aux données de la classe d'être stockées dans le flux.
protected void annotateProxyClass(Class cl)
Les sous-classes peuvent implémenter la méthode annotateProxyClass pour dtocker des données habituelles dans le flux avec des descripteurs de classes de proxy dynamiques.
void close()
ferme le flux.
void defaultWriteObject()
écrit des champs non-static et non-transient de la classe courante dans le flux.
protected void drain()
draine les données mises en mémoire tampon dans l'objet ObjectOutputStream.
protected boolean enableReplaceObject(boolean enable)
active le flux pour effectuer du remplacement d'objets dans le flux.
void flush()
vide le flux.
ObjectOutputStream.PutField putFields()
récupère l'objet utilisé pour mettre en mémoire tampon les champs persistants afin d'être écrit dans le flux..
protected Object replaceObject(Object obj)
La méthode replaceObject permet de se fier à des sous-classes de ObjectOutputStream pour substituer un objet à un autre durant un sérialisation.
void reset()
réinitialise sans tenir compte de l'état des objets déjà écrits dans le flux.
void useProtocolVersion(int version)
spécifie la version du protocole du flux à utiliser lors de l'écriture dans le flux.
void write(byte[] buf)
écrit un tableau d'octets dans le flux.
void write(byte[] buf, int off, int len)
écrit une partie d'un tableau d'octets dans le flux.
void write(int val)
écrit un octet.
void writeBoolean(boolean val)
écrit un valeur de type boolean.
void writeByte(int val)
écrit une valeur de type byte codée sur 8 bits.
void writeBytes(String str)
écrit une chaîne de caractères comme une séquence d'octets.
void writeChar(int val)
écrit une valeur de type char codée sur 16 bits.
void writeChars(String str)
écrit une chaîne de caractères comme une séquence de caractères.
protected void writeClassDescriptor(ObjectStreamClass desc)
écrit le descripteur de classe spécifiée dans le flux.
void writeDouble(double val)
écrit une valeur de type double codée sur 64 bits.
void writeFields()
écrit des champs mie en mémoire tampon dans le flux.
void writeFloat(float val)
écrit une valeur de type float codée sur 32 bits.
void writeInt(int val)
écrit une valeur de type int codée sur 32 bits.
void writeLong(long val)
écrit une valeur de type long codée sur 64 bits.
void writeObject(Object obj)
écrit l'objet spécifié dans le flux.
protected void writeObjectOverride(Object obj)
surcharge la méthode writeObject par défaut.
void writeShort(int val)
écrit une valeur de type short codée sur 16 bits.
protected void writeStreamHeader()
fournit des sous-classes pouvant ajouter à la fin ou au début leur propre entête dans le flux.
void writeUnshared(Object obj)
écrit un objet non-partagé dans le flux.
void writeUTF(String str)
écrit dans le flux, une chaîne de caractères au format UTF.
Les méthodes héritées de la classe java.lang.Object
clone, equals, finalize, getClass, hashCode,
notify, notifyAll, toString, wait, wait, wait