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.ObjectInputStream1.1

java.lang.Object
   |
   +--java.io.InputStream
         |
         +--java.io.ObjectInputStream

Deklaration

public class ObjectInputStream
extends java.io.InputStream
implements java.io.ObjectInput, java.io.ObjectStreamConstants

Beschreibung

ObjectInputStream implementiert das Interface ObjectInput und bietet somit die Möglichkeit, mit der Methode readObject() serialisierte Objekte aus dem darunterliegenden Stream zu lesen. Zusätzlich stellt diese Klasse die Methode defaultReadObject() zur Verfügung, die in der Methode readObject() einer Klasse dazu benutzt werden kann, ein Objekt nach den standardmäßigen Regeln zu rekonstruieren.


 
Geschachtelte Klassen
public abstract staticObjectInputStream.GetField     [1.2]
 
Konstruktoren
publicObjectInputStream(InputStream in)
protectedObjectInputStream()     [1.2]
 
Methoden
public intavailable()
public voidclose()
public final voiddefaultReadObject()
protected booleanenableResolveObject(boolean enable)
public intread()
public intread(byte[] b, int off, int len)
public booleanreadBoolean()
public bytereadByte()
public charreadChar()
protected ObjectStreamClassreadClassDescriptor()     [1.3]
public doublereadDouble()
public GetFieldreadFields()     [1.2]
public floatreadFloat()
public voidreadFully(byte[] data)
public voidreadFully(byte[] data, int off, int len)
public intreadInt()
public StringreadLine()
      Verworfen in Version 1.2.
public longreadLong()
public final ObjectreadObject()
protected voidreadObjectOverride(Object obj)     [1.2]
public shortreadShort()
protected voidreadStreamHeader()
public ObjectreadUnshared()     [1.4]
public StringreadUTF()
public intreadUnsignedByte()
public intreadUnsignedShort()
public synchronized voidregisterValidation(ObjectInputValidation obj, int prio)
protected ClassresolveClass(ObjectStreamClass v)
protected ObjectresolveObject(Object obj)
protected ClassresolveProxyClass(String[] interfaces)     [1.3]
public intskipBytes(int n)


 

Konstruktoren im Detail

public ObjectInputStream(InputStream in)
Erzeugt einen neuen ObjectInputStream auf dem Stream in.
Exception: IOException
Exception: StreamCorruptedException
protected ObjectInputStream()     [1.2]
Dieser Konstruktor kann von Unterklassen benutzt werden, die eine andere Implementierung zum Einlesen von Objekten realisieren wollen. Dieser Konstruktor setzt die Berechtigung "enableSubclassImplementation" voraus, die mit einer SerializablePermission gesetzt werden kann. Die Neuimplementierung erfolgt durch Überschreiben der Methode readObjectOverride().

 

Methoden im Detail

public int available()
Liefert die Anzahl an Bytes, die momentan gelesen werden kann, ohne zu blockieren.
Exception: IOException
public void close()
Schließt den Stream.
Exception: IOException
public final void defaultReadObject()
Liest ein Objekt gemäß den Regeln des Serializable-Interfaces aus dem darunterliegenden Stream.
Exception: IOException
Exception: ClassNotFoundException
Exception: NotActiveException
protected boolean enableResolveObject(boolean enable)
Diese Methode gestattet es dem Stream in Abhängigkeit vom Parameter enable, bei der Rekonstruktion ein Objekt durch ein anderes zu ersetzen. Sie setzt die Berechtigung "enableSubstitution" voraus, die mit einer SerializablePermission gesetzt werden kann.
Exception: SecurityException
public int read()
Liest ein Byte aus dem Stream und liefert es zurück. Der Rückgabewert -1 signalisiert, dass das Ende des Streams erreicht wurde. Wenn momentan keine Daten im Stream bereitstehen, blockiert diese Methode so lange, bis wieder mindestens 1 Byte gelesen werden kann oder das Stream-Ende erreicht ist.
Exception: IOException
public int read(byte[] b, int off, int len)
Versucht, len Bytes aus dem Stream zu lesen und speichert sie ab dem Index off in b. Wenn beim Versuch, das erste Byte zu lesen, das Stream-Ende bereits erreicht war, ist der Rückgabewert -1, ansonsten wird die Anzahl der tatsächlich gelesenen Bytes zurückgeliefert. Wenn während des Lesevorgangs das Stream-Ende erreicht wird oder wenn im darunterliegenden Stream nur weniger als len Bytes gelesen werden können, ohne zu blockieren, kehrt die Methode zurück und liefert die Anzahl der bis dahin gelesenen Bytes.
Exception: IOException
public boolean readBoolean()
Liest einen boolean-Wert aus dem Stream.
Exception: IOException
public byte readByte()
Liest einen byte-Wert aus dem Stream.
Exception: IOException
public char readChar()
Liest einen char-Wert aus dem Stream.
Exception: IOException
protected ObjectStreamClass readClassDescriptor()     [1.3]
Liest einen Klassendeskriptor aus dem Stream und liefert ihn zurück.
Exception: IOException
public double readDouble()
Liest einen double-Wert aus dem Stream.
Exception: IOException
public GetField readFields()     [1.2]
Liest alle Datenelemente des nächsten Objekts im Stream aus und liefert eine GetField-Objekt zurück, mit dem die Werte dieser Datenelemente abgerufen werden können.
Exception: IOException
Exception: ClassNotFoundException
Exception: NotActiveException
public float readFloat()
Liest einen float-Wert aus dem Stream.
Exception: IOException
public void readFully(byte[] data)
Füllt den Puffer data bis zur vollen Länge mit den nächsten Zeichen aus dem Stream. Diese Methode blockiert so lange, bis data.length Bytes gelesen wurden oder vorzeitig das Ende des Streams auftritt.
Exception: IOException
public void readFully(byte[] data, int off, int len)
Liest len Bytes aus dem Stream und speichert sie ab dem Index off im Puffer data. Diese Methode blockiert so lange, bis len Bytes gelesen wurden oder vorzeitig das Ende des Streams auftritt.
Exception: IOException
public int readInt()
Liest einen int-Wert aus dem Stream.
Exception: IOException
public String readLine()
Liest eine Textzeile aus dem Stream. Als Zeilenende-Sequenz wird '\r', '\n' (UNIX) oder "\r\n" (Windows) akzeptiert.
Exception: IOException
public long readLong()
Liest einen long-Wert aus dem Stream.
Exception: IOException
public final Object readObject()
Liest ein serialisiertes Objekt aus dem Stream und liefert es zurück.
Exception: OptionalDataException
Exception: ClassNotFoundException
Exception: IOException
protected void readObjectOverride(Object obj)     [1.2]
Mit dieser Methode kann eine Unterklasse ein eigenes Verfahren zum Einlesen 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 readObject() automatisch diese Methode aufruft und dann zurückkehrt.
Exception: OptionalDataException
Exception: ClassNotFoundException
Exception: IOException
public short readShort()
Liest einen short-Wert aus dem Stream.
Exception: IOException
protected void readStreamHeader()
Liest den Header des Objekt-Streams aus. Kann überschrieben werden, um ein eigenes Header-Format zu implementieren.
Exception: IOException
Exception: StreamCorruptedException
public Object readUnshared()     [1.4]
Diese Methode ist im wesentlichen identisch mit readObject(). Im Gegensatz zu readObject() wird bei dieser Methode sichergestellt, dass nachfolgend mit readObject() geladene Objekte keine Referenzen auf das von dieser Methode gelieferte Objekt enthalten.
public String readUTF()
Liest einen UTF-codierten String aus dem Stream und liefert ihn zurück. Hierbei werden jeweils bis zu 3 Bytes pro Zeichen aus dem Stream gelesen und gemäß der UTF-Codierung in eine Kette von 16-Bit-Unicode-Zeichen transformiert, aus denen der Ergebnis-String aufgebaut wird.
Exception: IOException
public int readUnsignedByte()
Liest ein als vorzeichenlos interpretiertes Byte aus dem Stream und liefert es als int-Wert zurück.
Exception: IOException
public int readUnsignedShort()
Liest zwei als vorzeichenlos interpretierte Bytes aus dem Stream und liefert sie als int-Wert zurück.
Exception: IOException
public synchronized void registerValidation(ObjectInputValidation obj, int prio)
Mit dieser Methode kann innerhalb der readObject()-Methode einer Klasse ein ObjectInputValidation-Objekt registriert werden. Dieses Objekt erhält einen Callback, nachdem der vollständige Objekt-Graph rekonstruiert wurde. Der Callback erfolgt, bevor der Objekt-Graph an der Aufrufer übergeben wird. Die Reihenfolge der Callbacks ergibt sich aus der Priorität prio, mit der obj in die interne Prioritätswarteschlange eingereiht wird.
Exception: NotActiveException
Exception: InvalidObjectException
protected Class resolveClass(ObjectStreamClass v)
Diese Methode wird für jede Klasse bei ihrem ersten Auftreten bei der Rekonstruktion eines Objekt-Graphen aufgerufen und erlaubt es, eine Klasse durch eine andere zu ersetzen. Für die neue Klasse muß ein Class-Objekt zurückgegeben werden. Das Gegenstück zu dieser Methode ist ObjectOutputStream.annotateClass().
Exception: IOException
Exception: ClassNotFoundException
protected Object resolveObject(Object obj)
Diese Methode wird für jedes rekonstruierte Objekt aufgerufen und erlaubt es, ein Objekt durch ein anderes zu ersetzen. Standardmäßig reicht diese Methode das übergebene Objekt durch.
Exception: IOException
protected Class resolveProxyClass(String[] interfaces)     [1.3]
Liest eine Proxy-Klasse für die in interfaces bezeichneten Interfaces aus dem Stream und liefert sie zurück. Diese Methode kann in Unterklassen überschrieben werden, um zusätzliche Informationen für Proxy-Klassen aus dem Stream zu lesen.
Exception: IOException
Exception: ClassNotFoundException
public int skipBytes(int n)
Versucht, n Bytes aus dem Stream zu überlesen, und liefert die Anzahl der tatsächlich übersrungenen Bytes. Diese kann kleiner als n sein, wenn vorzeitig das Ende des Streams erreicht wird. Fall momentan weniger als n Bytes im Stream bereitstehen, blockiert diese Methode so lange, bis n Bytes gelesen werden konnten oder das Stream-Ende erreicht ist.
Exception: IOException


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

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