Name
ObjectInputStream
Synopsis
ObjectInputStream
deserializes objects, arrays, and other values from a stream that was
previously created with an ObjectOutputStream
. The
readObject( )
method deserializes objects and
arrays (which should then be cast to the appropriate type); various
other methods read primitive data values from the stream. Note that
only objects that implement the Serializable
or
Externalizable
interface can be serialized and
deserialized.
A class may implement its own private
readObject(ObjectInputStream)
method to customize the way it is
deserialized. If you define such a method, there are several
ObjectInputStream
methods you can use to help
deserialize the object. defaultReadObject( )
is
the easiest. It reads the content of the object just as an
ObjectInputStream
would normally do. If you wrote
additional data before or after the default object contents, you
should read that data before or after calling
defaultReadObject( )
. When working with multiple
versions or implementations of a class, you may have to deserialize a
set of
fields
that do not match the fields of your class. In this case, give your
class a static field named
serialPersistentFields
whose value is an array of
ObjectStreamField
objects that describe the fields
to be deserialized. If you do this, your readObject(
)
method can call readFields( )
to read
the specified fields from the stream and return them in a
ObjectInputStream.GetField
object. See
ObjectStreamField
and
ObjectInputStream.GetField ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.