javax.mail.util
Class SharedByteArrayInputStream
java.lang.Object
java.io.InputStream
java.io.ByteArrayInputStream
javax.mail.util.SharedByteArrayInputStream
- All Implemented Interfaces:
- Closeable, SharedInputStream
public class SharedByteArrayInputStream
- extends ByteArrayInputStream
- implements SharedInputStream
A ByteArrayInputStream that implements the SharedInputStream interface,
allowing the underlying byte array to be shared between multiple readers.
- Since:
- JavaMail 1.4
Field Summary |
protected int |
start
Position within shared buffer that this stream starts at. |
Constructor Summary |
SharedByteArrayInputStream(byte[] buf)
Create a SharedByteArrayInputStream representing the entire
byte array. |
SharedByteArrayInputStream(byte[] buf,
int offset,
int length)
Create a SharedByteArrayInputStream representing the part
of the byte array from offset for length
bytes. |
Method Summary |
long |
getPosition()
Return the current position in the InputStream, as an
offset from the beginning of the InputStream. |
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). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
start
protected int start
- Position within shared buffer that this stream starts at.
SharedByteArrayInputStream
public SharedByteArrayInputStream(byte[] buf)
- Create a SharedByteArrayInputStream representing the entire
byte array.
- Parameters:
buf
- the byte array
SharedByteArrayInputStream
public SharedByteArrayInputStream(byte[] buf,
int offset,
int length)
- Create a SharedByteArrayInputStream representing the part
of the byte array from
offset
for length
bytes.
- Parameters:
buf
- the byte arrayoffset
- offset in byte array to first byte to includelength
- number of bytes to include
getPosition
public long getPosition()
- Return the current position in the InputStream, as an
offset from the beginning of the InputStream.
- Specified by:
getPosition
in interface SharedInputStream
- Returns:
- the current position
newStream
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.
- Specified by:
newStream
in interface SharedInputStream
- Parameters:
start
- the starting positionend
- the ending position + 1
- Returns:
- the new stream
Copyright © 2011 Oracle. All Rights Reserved.