Constructor and Description |
---|
MappedFileChannelIOHandler(FileChannel channel) |
Modifier and Type | Method and Description |
---|---|
long |
getMaxPosition()
Returns the current size of the backing file, array or stream.
|
void |
read(DataContext context,
byte[] data,
long position)
Reads a sequence of up to
data.length bytes into the
given array starting from the the given position. |
void |
write(DataContext context,
byte[] data,
long position)
Writes a sequence of up to
data.length bytes to the file,
starting at the given position. |
public MappedFileChannelIOHandler(FileChannel channel) throws IOException
IOException
public void read(DataContext context, byte[] data, long position) throws IOException
IOHandler
data.length
bytes into the
given array starting from the the given position. If the position
is greater than the file's current size then no bytes are read.
A read operation might not fill the array, and in fact it might not read any bytes at all. Whether or not it does so, depends upon the state of the file, e.g. only bytes that remain in the file starting from the given position will be read.
read
in interface IOHandler
context
- The I/O context.data
- The data array into which bytes are to be transferred.position
- The file position at which the transfer is to begin;
must be non-negative.IOException
- If an I/O error occurs.public void write(DataContext context, byte[] data, long position) throws IOException
IOHandler
data.length
bytes to the file,
starting at the given position. If the given
position is greater than the file's current size then the file will be
grown to accommodate the new bytes; the values of any bytes between the
previous end-of-file and the newly-written bytes are unspecified.write
in interface IOHandler
context
- The I/O context.data
- The data array from which bytes are to be transferred.position
- The file position at which the transfer is to begin;
must be non-negative.IOException
- If an I/O error occurs.public long getMaxPosition() throws IOException
IOHandler
This value may change, while writing to a growing file or array.
If the value is unknown -1
will be returned.
getMaxPosition
in interface IOHandler
IOException
- If an I/O error occurs.Copyright © 2014–2017 European Space Agency (ESA). All rights reserved.