org.apache.poi.poifs.storage
Class BlockAllocationTableReader
java.lang.Object
org.apache.poi.poifs.storage.BlockAllocationTableReader
public final class BlockAllocationTableReader
- extends java.lang.Object
This class manages and creates the Block Allocation Table, which is
basically a set of linked lists of block indices.
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.
- Author:
- Marc Johnson (mjohnson at apache dot org)
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BlockAllocationTableReader
public BlockAllocationTableReader(POIFSBigBlockSize bigBlockSize,
int block_count,
int[] block_array,
int xbat_count,
int xbat_index,
BlockList raw_block_list)
throws java.io.IOException
- create a BlockAllocationTableReader for an existing filesystem. Side
effect: when this method finishes, the BAT blocks will have
been removed from the raw block list, and any blocks labeled as
'unused' in the block allocation table will also have been
removed from the raw block list.
- Parameters:
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 RawDataBlocks
- Throws:
java.io.IOException
- if, in trying to create the table, we
encounter logic errors
sanityCheckBlockCount
public static void sanityCheckBlockCount(int block_count)
throws java.io.IOException
- Throws:
java.io.IOException
Copyright 2012 The Apache Software Foundation or
its licensors, as applicable.