|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.poi.poifs.storage.BlockAllocationTableWriter
public final class BlockAllocationTableWriter
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.
Constructor Summary | |
---|---|
BlockAllocationTableWriter(POIFSBigBlockSize bigBlockSize)
create a BlockAllocationTableWriter |
Method Summary | |
---|---|
int |
allocateSpace(int blockCount)
Allocate space for a block of indices |
int |
countBlocks()
Return the number of BigBlock's this instance uses |
int |
createBlocks()
Create the BATBlocks we need |
int |
getStartBlock()
get the starting block |
void |
setStartBlock(int start_block)
Set the start block for this instance |
static void |
writeBlock(BATBlock bat,
java.nio.ByteBuffer block)
Write the BAT into its associated block |
void |
writeBlocks(java.io.OutputStream stream)
Write the storage to an OutputStream |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BlockAllocationTableWriter(POIFSBigBlockSize bigBlockSize)
Method Detail |
---|
public int createBlocks()
public int allocateSpace(int blockCount)
blockCount
- the number of blocks to allocate space for
public int getStartBlock()
public void writeBlocks(java.io.OutputStream stream) throws java.io.IOException
writeBlocks
in interface BlockWritable
stream
- the OutputStream to which the stored data should
be written
java.io.IOException
- on problems writing to the specified
streampublic static void writeBlock(BATBlock bat, java.nio.ByteBuffer block) throws java.io.IOException
java.io.IOException
public int countBlocks()
countBlocks
in interface BATManaged
public void setStartBlock(int start_block)
setStartBlock
in interface BATManaged
start_block
- index into the array of BigBlock instances making
up the the filesystem
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |