java.io
Class ObjectInputStream

java.lang.Object
  |
  +--java.io.InputStream
        |
        +--java.io.ObjectInputStream
All Implemented Interfaces:
DataInput, ObjectInput, ObjectStreamConstants

public synchronized class ObjectInputStream
extends InputStream
implements ObjectInput, ObjectStreamConstants


Nested Class Summary
static class ObjectInputStream.GetField
           
 
Field Summary
 
Fields inherited from 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
 
Constructor Summary
protected ObjectInputStream()
           
  ObjectInputStream(InputStream)
           
 
Method Summary
 int available()
          Returns the number of bytes that can be read (or skipped over) from this input stream without blocking by the next caller of a method for this input stream.
 void close()
          Closes this input stream and releases any system resources associated with the stream.
 void defaultReadObject()
           
protected  boolean enableResolveObject(boolean)
           
 int read()
          Reads the next byte of data from the input stream.
 int read(byte[], int, int)
          Reads up to len bytes of data from the input stream into an array of bytes.
 boolean readBoolean()
           
 byte readByte()
           
 char readChar()
           
protected  ObjectStreamClass readClassDescriptor()
           
 double readDouble()
           
 ObjectInputStream.GetField readFields()
           
 float readFloat()
           
 void readFully(byte[])
           
 void readFully(byte[], int, int)
           
 int readInt()
           
 String readLine()
           
 long readLong()
           
 Object readObject()
           
protected  Object readObjectOverride()
           
 short readShort()
           
protected  void readStreamHeader()
           
 Object readUnshared()
           
 int readUnsignedByte()
           
 int readUnsignedShort()
           
 String readUTF()
           
 void registerValidation(ObjectInputValidation, int)
           
protected  Class resolveClass(ObjectStreamClass)
           
protected  Object resolveObject(Object)
           
protected  Class resolveProxyClass(String[])
           
 int skipBytes(int)
           
 
Methods inherited from class java.io.InputStream
mark, markSupported, read, reset, skip
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait
 
Methods inherited from interface java.io.ObjectInput
read, skip
 

Constructor Detail

ObjectInputStream

public ObjectInputStream(InputStream)
                  throws IOException

ObjectInputStream

protected ObjectInputStream()
                     throws IOException,
                            SecurityException
Method Detail

readObject

public final Object readObject()
                        throws IOException,
                               ClassNotFoundException
Specified by:
readObject in interface ObjectInput
IOException
ClassNotFoundException

readObjectOverride

protected Object readObjectOverride()
                             throws IOException,
                                    ClassNotFoundException
IOException
ClassNotFoundException

readUnshared

public Object readUnshared()
                    throws IOException,
                           ClassNotFoundException
IOException
ClassNotFoundException

defaultReadObject

public void defaultReadObject()
                       throws IOException,
                              ClassNotFoundException
IOException
ClassNotFoundException

readFields

public ObjectInputStream.GetField readFields()
                                      throws IOException,
                                             ClassNotFoundException
IOException
ClassNotFoundException

registerValidation

public void registerValidation(ObjectInputValidation,
                               int)
                        throws NotActiveException,
                               InvalidObjectException
NotActiveException
InvalidObjectException

resolveClass

protected Class resolveClass(ObjectStreamClass)
                      throws IOException,
                             ClassNotFoundException
IOException
ClassNotFoundException

resolveProxyClass

protected Class resolveProxyClass(String[])
                           throws IOException,
                                  ClassNotFoundException
IOException
ClassNotFoundException

resolveObject

protected Object resolveObject(Object)
                        throws IOException
IOException

enableResolveObject

protected boolean enableResolveObject(boolean)
                               throws SecurityException
SecurityException

readStreamHeader

protected void readStreamHeader()
                         throws IOException,
                                StreamCorruptedException
IOException
StreamCorruptedException

readClassDescriptor

protected ObjectStreamClass readClassDescriptor()
                                         throws IOException,
                                                ClassNotFoundException
IOException
ClassNotFoundException

read

public int read()
         throws IOException
Description copied from class: InputStream
Reads the next byte of data from the input stream. The value byte is returned as an int in the range 0 to 255. If no byte is available because the end of the stream has been reached, the value -1 is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.

A subclass must provide an implementation of this method.

Specified by:
read in interface ObjectInput
Specified by:
read in class InputStream
Returns:
the next byte of data, or -1 if the end of the stream is reached.
Throws:
IOException - if an I/O error occurs.

read

public int read(byte[],
                int,
                int)
         throws IOException
Description copied from class: InputStream
Reads up to len bytes of data from the input stream into an array of bytes. An attempt is made to read as many as len bytes, but a smaller number may be read, possibly zero. The number of bytes actually read is returned as an integer.

This method blocks until input data is available, end of file is detected, or an exception is thrown.

If b is null, a NullPointerException is thrown.

If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.

If len is zero, then no bytes are read and 0 is returned; otherwise, there is an attempt to read at least one byte. If no byte is available because the stream is at end of file, the value -1 is returned; otherwise, at least one byte is read and stored into b.

The first byte read is stored into element b[off], the next one into b[off+1], and so on. The number of bytes read is, at most, equal to len. Let k be the number of bytes actually read; these bytes will be stored in elements b[off] through b[off+k-1], leaving elements b[off+k] through b[off+len-1] unaffected.

In every case, elements b[0] through b[off] and elements b[off+len] through b[b.length-1] are unaffected.

If the first byte cannot be read for any reason other than end of file, then an IOException is thrown. In particular, an IOException is thrown if the input stream has been closed.

The read(b, off, len) method for class InputStream simply calls the method read() repeatedly. If the first such call results in an IOException, that exception is returned from the call to the read(b, off, len) method. If any subsequent call to read() results in a IOException, the exception is caught and treated as if it were end of file; the bytes read up to that point are stored into b and the number of bytes read before the exception occurred is returned. Subclasses are encouraged to provide a more efficient implementation of this method.

Specified by:
read in interface ObjectInput
Overrides:
read in class InputStream
Parameters:
- the buffer into which the data is read.
- the start offset in array b at which the data is written.
- the maximum number of bytes to read.
Returns:
the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
Throws:
IOException - if an I/O error occurs.
See Also:
InputStream.read()

available

public int available()
              throws IOException
Description copied from class: InputStream
Returns the number of bytes that can be read (or skipped over) from this input stream without blocking by the next caller of a method for this input stream. The next caller might be the same thread or or another thread.

The available method for class InputStream always returns 0.

This method should be overridden by subclasses.

Specified by:
available in interface ObjectInput
Overrides:
available in class InputStream
Returns:
the number of bytes that can be read from this input stream without blocking.
Throws:
IOException - if an I/O error occurs.

close

public void close()
           throws IOException
Description copied from class: InputStream
Closes this input stream and releases any system resources associated with the stream.

The close method of InputStream does nothing.

Specified by:
close in interface ObjectInput
Overrides:
close in class InputStream
Throws:
IOException - if an I/O error occurs.

readBoolean

public boolean readBoolean()
                    throws IOException
Specified by:
readBoolean in interface DataInput
IOException

readByte

public byte readByte()
              throws IOException
Specified by:
readByte in interface DataInput
IOException

readUnsignedByte

public int readUnsignedByte()
                     throws IOException
Specified by:
readUnsignedByte in interface DataInput
IOException

readChar

public char readChar()
              throws IOException
Specified by:
readChar in interface DataInput
IOException

readShort

public short readShort()
                throws IOException
Specified by:
readShort in interface DataInput
IOException

readUnsignedShort

public int readUnsignedShort()
                      throws IOException
Specified by:
readUnsignedShort in interface DataInput
IOException

readInt

public int readInt()
            throws IOException
Specified by:
readInt in interface DataInput
IOException

readLong

public long readLong()
              throws IOException
Specified by:
readLong in interface DataInput
IOException

readFloat

public float readFloat()
                throws IOException
Specified by:
readFloat in interface DataInput
IOException

readDouble

public double readDouble()
                  throws IOException
Specified by:
readDouble in interface DataInput
IOException

readFully

public void readFully(byte[])
               throws IOException
Specified by:
readFully in interface DataInput
IOException

readFully

public void readFully(byte[],
                      int,
                      int)
               throws IOException
Specified by:
readFully in interface DataInput
IOException

skipBytes

public int skipBytes(int)
              throws IOException
Specified by:
skipBytes in interface DataInput
IOException

readLine

public String readLine()
                throws IOException
Specified by:
readLine in interface DataInput
IOException

readUTF

public String readUTF()
               throws IOException
Specified by:
readUTF in interface DataInput
IOException