Package com.bc.ceres.binio.util
Class RandomAccessFileIOHandler
- java.lang.Object
-
- com.bc.ceres.binio.util.RandomAccessFileIOHandler
-
-
Constructor Summary
Constructors Constructor Description RandomAccessFileIOHandler(RandomAccessFile raf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetMaxPosition()Returns the current size of the backing file, array or stream.voidread(DataContext context, byte[] data, long position)Reads a sequence of up todata.lengthbytes into the given array starting from the the given position.voidwrite(DataContext context, byte[] data, long position)Writes a sequence of up todata.lengthbytes to the file, starting at the given position.
-
-
-
Constructor Detail
-
RandomAccessFileIOHandler
public RandomAccessFileIOHandler(RandomAccessFile raf)
-
-
Method Detail
-
read
public void read(DataContext context, byte[] data, long position) throws IOException
Description copied from interface:IOHandlerReads a sequence of up todata.lengthbytes 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.
- Specified by:
readin interfaceIOHandler- Parameters:
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.- Throws:
IOException- If an I/O error occurs.
-
write
public void write(DataContext context, byte[] data, long position) throws IOException
Description copied from interface:IOHandlerWrites a sequence of up todata.lengthbytes 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.- Specified by:
writein interfaceIOHandler- Parameters:
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.- Throws:
IOException- If an I/O error occurs.
-
getMaxPosition
public long getMaxPosition() throws IOExceptionDescription copied from interface:IOHandlerReturns the current size of the backing file, array or stream.This value may change, while writing to a growing file or array. If the value is unknown
-1will be returned.- Specified by:
getMaxPositionin interfaceIOHandler- Returns:
- Te maximum position.
- Throws:
IOException- If an I/O error occurs.
-
-