return dataBlock;
}
private void write(final long position, final int offset, final byte[] data)
throws FileIOException {
DataBlock dataBlock = cacheMap.get(position);
if (dataBlock == null) {
dataBlock = readInFile(position, true);
if (dataBlock == null) {
final byte[] recordData = new byte[header.getBlockLength()];
dataBlock = new DataBlock(position, true, recordData);
cacheMap.put(position, dataBlock);
}
} else {
dataBlock.setToWrite(true);
}
System.arraycopy(data, 0, dataBlock.getData(), offset, data.length);
final long length = position + header.getBlockLength();
if (length > header.getDataLength()) {
header.setDataLength(length);
}
}