public interface Stream
Read and write access to stream type data.
| Modifier and Type | Method and Description |
|---|---|
Stream |
clone()
Create a cloned copy of the underlying stream accessor class.
|
void |
close()
Close the stream and release any associated systems resources.
|
ByteOrder |
getByteOrder()
Returns the byte order of the stream.
|
long |
getLength()
Returns the length of the stream, measured in bytes.
|
long |
getLimit()
Gets the limit position beyond which content cannot be read or written.
|
long |
getPosition()
Returns the current position for reading from or writing to the stream.
|
URI |
getStreamURI()
Returns the URI that specifies the location of this stream.
|
ByteBuffer |
read(int noOfBytes)
Read the number of bytes requested from the stream into a newly created byte
buffer.
|
void |
setLimit(long limit)
Sets the limit position beyond which content cannot be read or written.
|
void |
setPosition(long position)
Sets the current position for reading from or writing to the stream.
|
int |
write(ByteBuffer buffer)
Write the number of bytes requested to the stream from the given byte buffer.
|
long getPosition()
throws IOException
Returns the current position for reading from or writing to the stream.
IOException - An IO problem occurred when trying to access the stream.setPosition(long)void setPosition(long position)
throws IllegalArgumentException,
IOException
Sets the current position for reading from or writing to the stream.
position - Current position for reading from or writing to the stream.IllegalArgumentException - Cannot set a stream position to a negative value or
beyond the limit set for the stream.IOException - An IO problem occurred when trying to access the stream.getPosition(),
getLimit()long getLength()
throws IOException
Returns the length of the stream, measured in bytes.
IOException - An IO problem occurred when trying to access the stream.long getLimit()
throws IOException
Gets the limit position beyond which content cannot be read or written.
IOException - An IO problem occurred when trying to access the stream.setLimit(long)void setLimit(long limit)
throws IllegalArgumentException
Sets the limit position beyond which content cannot be read or written.
limit - Limit position beyond which content cannot be read or written.IllegalArgumentException - The limit position cannot set beyond the end
of the stream.ByteBuffer read(int noOfBytes) throws EndOfDataException, IOException, IllegalArgumentException
Read the number of bytes requested from the stream into a newly created byte buffer.
noOfBytes - Number of bytes to read.EndOfDataException - Attempt to read beyond the limit set for the stream.IOException - An IO problem occurred when trying to read from the stream.IllegalArgumentException - Cannot read a negative number of bytes.write(ByteBuffer),
getLimit(),
getPosition()int write(ByteBuffer buffer) throws EndOfDataException, IOException
Write the number of bytes requested to the stream from the given byte buffer.
buffer - Buffer of data to write. Data is written from the current position to the
limit set for the given buffer.EndOfDataException - Attempt to write beyond the limit set for the stream.IOException - An IO problem occurred when trying to write to the stream.read(int),
getPosition(),
getLimit()void close()
Close the stream and release any associated systems resources.
ByteOrder getByteOrder()
Returns the byte order of the stream.
URI getStreamURI()
Returns the URI that specifies the location of this stream. The URI can be used to resolve the stream and includes just enough information that the stream can be opened and read or written. For example, an AAF stream contains the structured storage path within the file where the stream can be accessed, whereas an MXF stream contains the body and index stream identifiers.
StreamResolverStream clone()
Create a cloned copy of the underlying stream accessor class.
(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.