public final class BlockAllocationTableReader extends Object
Each block of the filesystem has an index. The first block, the header, is skipped; the first block after the header is index 0, the next is index 1, and so on.
A block's index is also its index into the Block Allocation Table. The entry that it finds in the Block Allocation Table is the index of the next block in the linked list of blocks making up a file, or it is set to -2: end of list.
Constructor and Description |
---|
BlockAllocationTableReader(POIFSBigBlockSize bigBlockSize,
int block_count,
int[] block_array,
int xbat_count,
int xbat_index,
BlockList raw_block_list)
create a BlockAllocationTableReader for an existing filesystem.
|
Modifier and Type | Method and Description |
---|---|
static void |
sanityCheckBlockCount(int block_count) |
public BlockAllocationTableReader(POIFSBigBlockSize bigBlockSize, int block_count, int[] block_array, int xbat_count, int xbat_index, BlockList raw_block_list) throws IOException
block_count
- the number of BAT blocks making up the block
allocation tableblock_array
- the array of BAT block indices from the
filesystem's headerxbat_count
- the number of XBAT blocksxbat_index
- the index of the first XBAT blockraw_block_list
- the list of RawDataBlocksIOException
- if, in trying to create the table, we
encounter logic errorspublic static void sanityCheckBlockCount(int block_count) throws IOException
IOException
Copyright © 2020. All rights reserved.