## org.apache.poi.poifs.storage
Class BlockAllocationTableReader

    java.lang.Object
      org.apache.poi.poifs.storage.BlockAllocationTableReader

public 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)

Constructor Summary
`BlockAllocationTableReader(int block_count, int[] block_array, int xbat_count, int xbat_index, BlockList raw_block_list)` create a BlockAllocationTableReader for an existing filesystem.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BlockAllocationTableReader

    public BlockAllocationTableReader(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 table
  `block_array` - the array of BAT block indices from the filesystem's header
  `xbat_count` - the number of XBAT blocks
  `xbat_index` - the index of the first XBAT block
  `raw_block_list` - the list of RawDataBlocks
Throws:
  `java.io.IOException` - if, in trying to create the table, we encounter logic errors

Copyright © 2003 Apache Software Foundation.