public interface ObjectStream<T>
extends java.lang.AutoCloseable
Object
s from a stream.
Design Decision:
This interface provides a means for iterating over the
objects in a stream, it does not implement Iterator
or
Iterable
because:
Iterator.next()
and
Iterator.hasNext()
are declared as throwing no checked
exceptions. Thus the IOException
s thrown by read()
would
have to be wrapped in RuntimeException
s, and the compiler would be
unable to force users of this code to catch such exceptions.Iterable
would mean either silently calling
reset()
to guarantee that all items were always seen on each
iteration, or documenting that the Iterable only iterates over the remaining
elements of the ObjectStream. In either case, users not reading the
documentation carefully might run into unexpected behavior.ObjectStreamException
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the
ObjectStream and releases all allocated
resources. |
T |
read()
Returns the next object.
|
void |
reset()
Repositions the stream at the beginning and the previously seen object sequence
will be repeated exactly.
|
T read() throws java.io.IOException
java.io.IOException
- if there is an error during readingvoid reset() throws java.io.IOException, java.lang.UnsupportedOperationException
java.io.IOException
- if there is an error during reseting the streamjava.lang.UnsupportedOperationException
void close() throws java.io.IOException
ObjectStream
and releases all allocated
resources. After close was called its not allowed to call
read or reset.close
in interface java.lang.AutoCloseable
java.io.IOException
- if there is an error during closing the streamCopyright © 2010 - 2020 Adobe. All Rights Reserved