Top Description Methods
javax.mail.internet

public Interface SharedInputStream

Known Direct Implementers
javax.mail.util.SharedFileInputStream, javax.mail.util.SharedByteArrayInputStream
Imports
java.io.*

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.

Author
Bill Shannon
Since
JavaMail 1.2

Method Summary

Modifier and TypeMethod and Description
public long

Returns:

the current position
getPosition
()

Return the current position in the InputStream, as an offset from the beginning of the InputStream.

public InputStream

Returns:

the new stream
newStream
(long
the starting position
start
,
long
the ending position + 1
end
)

Return a new InputStream representing a subset of the data from this InputStream, starting at start (inclusive) up to end (exclusive).

Method Detail

getPositionback to summary
public long getPosition()

Return the current position in the InputStream, as an offset from the beginning of the InputStream.

Returns:long

the current position

newStreamback to summary
public 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:long

the starting position

end:long

the ending position + 1

Returns:InputStream

the new stream