public BlockAccessBase(String filename, int blockSize)
{
file = FileBase.create(filename) ;
this.blockSize = blockSize ;
this.label = FileOps.basename(filename) ;
long filesize = file.size() ;
long longBlockSize = blockSize ;
numFileBlocks = filesize/longBlockSize ;
seq = new AtomicLong(numFileBlocks) ;
if ( numFileBlocks > Integer.MAX_VALUE )
getLog().warn(format("File size (%d) exceeds tested block number limits (%d) [%s]", filesize, blockSize, filename)) ;
if ( filesize%longBlockSize != 0 )
throw new BlockException(format("File size (%d) not a multiple of blocksize (%d) [%s]", filesize, blockSize, filename)) ;
if ( filesize == 0 )
isEmpty = true ;
}