|
Build 1.1_r1 (from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.io.InputStream
java.io.ObjectInputStream
public class ObjectInputStream
A specialized InputStream that is able to read (deserialize) Java
objects as well as primitive data types (int, byte, char etc.). The data has
typically been saved using an ObjectOutputStream.
ObjectOutputStream,
ObjectInput,
Serializable,
Externalizable| Nested Class Summary | |
|---|---|
static class |
ObjectInputStream.GetField
GetField is an inner class that provides access to the persistent fields read from the source stream. |
(package private) static class |
ObjectInputStream.InputValidationDesc
|
| Field Summary |
|---|
| Constructor Summary | |
|---|---|
protected |
ObjectInputStream()
Constructs a new ObjectInputStream. |
|
ObjectInputStream(InputStream input)
Constructs a new ObjectInputStream that reads from the InputStream input. |
| Method Summary | |
|---|---|
int |
available()
Returns the number of bytes of primitive data that can be read from this stream without blocking. |
void |
close()
Closes this stream. |
void |
defaultReadObject()
Default method to read objects from this stream. |
protected boolean |
enableResolveObject(boolean enable)
Enables object replacement for this stream. |
int |
read()
Reads a single byte from the source stream and returns it as an integer in the range from 0 to 255. |
int |
read(byte[] buffer,
int offset,
int length)
Reads at most length bytes from the source stream and stores them
in byte array buffer starting at offset count. |
boolean |
readBoolean()
Reads a boolean from the source stream. |
byte |
readByte()
Reads a byte (8 bit) from the source stream. |
char |
readChar()
Reads a character (16 bit) from the source stream. |
protected ObjectStreamClass |
readClassDescriptor()
Reads a class descriptor from the source stream. |
double |
readDouble()
Reads a double (64 bit) from the source stream. |
ObjectInputStream.GetField |
readFields()
Reads the persistent fields of the object that is currently being read from the source stream. |
float |
readFloat()
Reads a float (32 bit) from the source stream. |
void |
readFully(byte[] buffer)
Reads bytes from the source stream into the byte array buffer. |
void |
readFully(byte[] buffer,
int offset,
int length)
Reads bytes from the source stream into the byte array buffer. |
int |
readInt()
Reads an integer (32 bit) from the source stream. |
String |
readLine()
Deprecated. Use BufferedReader |
long |
readLong()
Reads a long (64 bit) from the source stream. |
Object |
readObject()
Reads the next object from the source stream. |
protected Object |
readObjectOverride()
Method to be overriden by subclasses to read the next object from the source stream. |
short |
readShort()
Reads a short (16 bit) from the source stream. |
protected void |
readStreamHeader()
Reads and validates the ObjectInputStream header from the source stream. |
Object |
readUnshared()
Reads the next unshared object from the source stream. |
int |
readUnsignedByte()
Reads an unsigned byte (8 bit) from the source stream. |
int |
readUnsignedShort()
Reads an unsigned short (16 bit) from the source stream. |
String |
readUTF()
Reads a string encoded in modified UTF-8 from the
source stream. |
void |
registerValidation(ObjectInputValidation object,
int priority)
Registers a callback for post-deserialization validation of objects. |
protected Class<?> |
resolveClass(ObjectStreamClass osClass)
Loads the Java class corresponding to the class descriptor osClass that has just been read from the source stream. |
protected Object |
resolveObject(Object object)
Allows trusted subclasses to substitute the specified original object with a new object. |
protected Class<?> |
resolveProxyClass(String[] interfaceNames)
Creates the proxy class that implements the interfaces specified in interfaceNames. |
int |
skipBytes(int length)
Skips length bytes on the source stream. |
| Methods inherited from class java.io.InputStream |
|---|
mark, markSupported, read, reset, skip |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface java.io.ObjectInput |
|---|
read, skip |
| Constructor Detail |
|---|
protected ObjectInputStream()
throws IOException,
SecurityException
IOException - if an error occurs when creating this stream.
SecurityException - if a security manager is installed and it denies subclassing
this class.SecurityManager.checkPermission(java.security.Permission)
public ObjectInputStream(InputStream input)
throws StreamCorruptedException,
IOException
input.
input - the non-null source InputStream to filter reads on.
IOException - if an error occurs while reading the stream header.
StreamCorruptedException - if the source stream does not contain serialized objects that
can be read.
SecurityException - if a security manager is installed and it denies subclassing
this class.| Method Detail |
|---|
public int available()
throws IOException
available in interface ObjectInputavailable in class InputStreamIOException - if any I/O problem occurs while computing the available
bytes.
public void close()
throws IOException
close in interface Closeableclose in interface ObjectInputclose in class InputStreamIOException - if an error occurs while closing this stream.
public void defaultReadObject()
throws IOException,
ClassNotFoundException,
NotActiveException
ClassNotFoundException - if the object's class cannot be found.
IOException - if an I/O error occurs while reading the object data.
NotActiveException - if this method is not called from readObject().ObjectOutputStream.defaultWriteObject()
protected boolean enableResolveObject(boolean enable)
throws SecurityException
enable - true to enable object replacement; false to
disable it.
SecurityException - if a security manager is installed and it denies enabling
object replacement for this stream.resolveObject(java.lang.Object),
ObjectOutputStream.enableReplaceObject(boolean)
public int read()
throws IOException
read in interface ObjectInputread in class InputStreamIOException - if an error occurs while reading from this stream.
public int read(byte[] buffer,
int offset,
int length)
throws IOException
length bytes from the source stream and stores them
in byte array buffer starting at offset count. Blocks
until count bytes have been read, the end of the source stream is
detected or an exception is thrown.
read in interface ObjectInputread in class InputStreambuffer - the array in which to store the bytes read.offset - the initial position in buffer to store the bytes
read from the source stream.length - the maximum number of bytes to store in buffer.
IndexOutOfBoundsException - if offset < 0 or length < 0, or if
offset + length is greater than the length of
buffer.
IOException - if an error occurs while reading from this stream.
NullPointerException - if buffer is null.
public boolean readBoolean()
throws IOException
readBoolean in interface DataInputEOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeBoolean(boolean)
public byte readByte()
throws IOException
readByte in interface DataInputEOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeByte(int)
public char readChar()
throws IOException
readChar in interface DataInputEOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeChar(int)
public double readDouble()
throws IOException
readDouble in interface DataInputEOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeDouble(double)
public ObjectInputStream.GetField readFields()
throws IOException,
ClassNotFoundException,
NotActiveException
ClassNotFoundException - if the class of an object being deserialized can not be
found.
IOException - if an error occurs while reading from this stream.
NotActiveException - if this stream is currently not reading an object.
public float readFloat()
throws IOException
readFloat in interface DataInputEOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeFloat(float)
public void readFully(byte[] buffer)
throws IOException
buffer.
This method will block until buffer.length bytes have been read.
readFully in interface DataInputbuffer - the array in which to store the bytes read.
EOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.write(byte[]),
DataOutput.write(byte[], int, int)
public void readFully(byte[] buffer,
int offset,
int length)
throws IOException
buffer.
This method will block until length number of bytes have been
read.
readFully in interface DataInputbuffer - the byte array in which to store the bytes read.offset - the initial position in buffer to store the bytes
read from the source stream.length - the maximum number of bytes to store in buffer.
EOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.write(byte[]),
DataOutput.write(byte[], int, int)
public int readInt()
throws IOException
readInt in interface DataInputEOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeInt(int)
@Deprecated
public String readLine()
throws IOException
BufferedReader
'\r', '\n', "\r\n" or an EOF.
readLine in interface DataInputIOException - if an error occurs while reading from the source stream.
public long readLong()
throws IOException
readLong in interface DataInputEOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeLong(long)
protected ObjectStreamClass readClassDescriptor()
throws IOException,
ClassNotFoundException
ClassNotFoundException - if a class for one of the objects cannot be found.
IOException - if an error occurs while reading from the source stream.
protected Class<?> resolveProxyClass(String[] interfaceNames)
throws IOException,
ClassNotFoundException
interfaceNames.
interfaceNames - the interfaces used to create the proxy class.
ClassNotFoundException - if the proxy class or any of the specified interfaces cannot
be created.
IOException - if an error occurs while reading from the source stream.ObjectOutputStream.annotateProxyClass(Class)
public final Object readObject()
throws OptionalDataException,
ClassNotFoundException,
IOException
readObject in interface ObjectInputClassNotFoundException - if the class of one of the objects in the object graph cannot
be found.
IOException - if an error occurs while reading from the source stream.
OptionalDataException - if primitive data types were found instead of an object.ObjectOutputStream.writeObject(Object)
public Object readUnshared()
throws IOException,
ClassNotFoundException
ClassNotFoundException - if the class of one of the objects in the object graph cannot
be found.
IOException - if an error occurs while reading from the source stream.ObjectOutputStream.writeUnshared(java.lang.Object)
protected Object readObjectOverride()
throws OptionalDataException,
ClassNotFoundException,
IOException
ClassNotFoundException - if the class of one of the objects in the object graph cannot
be found.
IOException - if an error occurs while reading from the source stream.
OptionalDataException - if primitive data types were found instead of an object.ObjectOutputStream.writeObjectOverride(java.lang.Object)
public short readShort()
throws IOException
readShort in interface DataInputIOException - if an error occurs while reading from the source stream.DataOutput.writeShort(int)
protected void readStreamHeader()
throws IOException,
StreamCorruptedException
IOException - if an error occurs while reading from the source stream.
StreamCorruptedException - if the source stream does not contain readable serialized
objects.
public int readUnsignedByte()
throws IOException
readUnsignedByte in interface DataInputEOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeByte(int)
public int readUnsignedShort()
throws IOException
readUnsignedShort in interface DataInputEOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeShort(int)
public String readUTF()
throws IOException
modified UTF-8 from the
source stream.
readUTF in interface DataInputmodified UTF-8 read from
the source stream.
EOFException - if the end of the input is reached before the read
request can be satisfied.
IOException - if an error occurs while reading from the source stream.DataOutput.writeUTF(java.lang.String)
public void registerValidation(ObjectInputValidation object,
int priority)
throws NotActiveException,
InvalidObjectException
readObject() method of this class returns its result to the caller. This
method can only be called from within the readObject() method of
a class that implements "special" deserialization rules. It can be called
multiple times. Validation callbacks are then done in order of decreasing
priority, defined by priority.
object - an object that can validate itself by receiving a callback.priority - the validator's priority.
InvalidObjectException - if object is null.
NotActiveException - if this stream is currently not reading objects. In that
case, calling this method is not allowed.ObjectInputValidation.validateObject()
protected Class<?> resolveClass(ObjectStreamClass osClass)
throws IOException,
ClassNotFoundException
osClass that has just been read from the source stream.
osClass - an ObjectStreamClass read from the source stream.
osClass.
ClassNotFoundException - if the class for an object cannot be found.
IOException - if an I/O error occurs while creating the class.ObjectOutputStream.annotateClass(Class)
protected Object resolveObject(Object object)
throws IOException
object with a new object. Object substitution has to be activated first
with calling enableResolveObject(true). This implementation just
returns object.
object - the original object for which a replacement may be defined.
object.
IOException - if any I/O error occurs while creating the replacement
object.enableResolveObject(boolean),
ObjectOutputStream.enableReplaceObject(boolean),
ObjectOutputStream.replaceObject(java.lang.Object)
public int skipBytes(int length)
throws IOException
length bytes on the source stream. This method should not
be used to skip bytes at any arbitrary position, just when reading
primitive data types (int, char etc).
skipBytes in interface DataInputlength - the number of bytes to skip.
IOException - if an error occurs while skipping bytes on the source stream.
NullPointerException - if the source stream is null.
|
Build 1.1_r1 (from source) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||