javax.mail.internet
Interface SharedInputStream
- public interface SharedInputStream
An InputStream that is backed by data that can be shared by multiple
readers may implement this interface. This allows users of such an
InputStream to determine the current position in the InputStream, and
to create new InputStreams representing a subset of the data in the
original InputStream. The new InputStream will access the same
underlying data as the original, without copying the data.
Note that implementations of this interface must ensure that the
close
method does not close any underlying stream
that might be shared by multiple instances of SharedInputStream
until all shared instances have been closed.
- Since:
- JavaMail 1.2
Method Summary |
long |
getPosition()
Return the current position in the InputStream, as an
offset from the beginning of the InputStream. |
java.io.InputStream |
newStream(long start,
long end)
Return a new InputStream representing a subset of the data
from this InputStream, starting at start (inclusive)
up to end (exclusive). |
getPosition
public long getPosition()
- Return the current position in the InputStream, as an
offset from the beginning of the InputStream.
- Returns:
- the current position
newStream
public java.io.InputStream newStream(long start,
long end)
- Return a new InputStream representing a subset of the data
from this InputStream, starting at
start
(inclusive)
up to end
(exclusive). start
must be
non-negative. If end
is -1, the new stream ends
at the same place as this stream. The returned InputStream
will also implement the SharedInputStream interface.
- Parameters:
start
- the starting positionend
- the ending position + 1- Returns:
- the new stream