|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.InputStream
messif.objects.nio.BufferInputStream
messif.objects.nio.MappedFileChannelInputStream
public class MappedFileChannelInputStream
Extending class for a ChannelInputStream
that operates on a
file. The position is restored before every read operation, so it is safe
to use multiple instances of this class over the same file channel. However,
if multiple threads use the same instance of this class, the access to the
instance must be synchronized.
Constructor Summary | |
---|---|
MappedFileChannelInputStream(java.nio.channels.FileChannel fileChannel,
long position,
long maxLength)
Creates a new instance of FileChannelInputStream. |
Method Summary | |
---|---|
long |
getPosition()
Returns the current position in the file. |
java.nio.ByteBuffer |
readInput(int minBytes)
Returns a buffer that contains at least minBytes bytes. |
void |
reset()
Repositions this stream to the starting position. |
void |
setPosition(long position)
Set the position from which the data will be read. |
Methods inherited from class messif.objects.nio.BufferInputStream |
---|
available, bufferedSize, read, read, read, read, read, skip |
Methods inherited from class java.io.InputStream |
---|
close, mark, markSupported, read |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MappedFileChannelInputStream(java.nio.channels.FileChannel fileChannel, long position, long maxLength) throws java.io.IOException
fileChannel
- the file channel from which to read dataposition
- the starting position of the filemaxLength
- the maximal length of data
java.io.IOException
- if there was an error using readChannelMethod Detail |
---|
public void reset() throws java.io.IOException
reset
in class java.io.InputStream
java.io.IOException
public long getPosition()
getPosition
in class BufferInputStream
public void setPosition(long position) throws java.io.IOException
setPosition
in class BufferInputStream
position
- the new position
java.io.IOException
- if the specified position is outside the boundariespublic java.nio.ByteBuffer readInput(int minBytes) throws java.io.IOException
BinaryInput
minBytes
bytes.
If the buffer with the required number of bytes cannot be provided, an
IOException
is thrown. Note that the returned
buffer can provide more than minBytes
.
readInput
in interface BinaryInput
readInput
in class BufferInputStream
minBytes
- the minimal number of bytes that must be available for reading from the buffer
java.io.IOException
- if there was an error while preparing a buffer with minBytes
bytes
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |