Package org.apache.poi.poifs.storage
Class HeaderBlock
java.lang.Object
org.apache.poi.poifs.storage.HeaderBlock
- All Implemented Interfaces:
HeaderBlockConstants
The block containing the archive header
-
Field Summary
Fields inherited from interface org.apache.poi.poifs.storage.HeaderBlockConstants
_bat_array_offset, _bat_count_offset, _max_bats_in_header, _property_start_offset, _sbat_block_count_offset, _sbat_start_offset, _signature, _signature_offset, _xbat_count_offset, _xbat_start_offset
-
Constructor Summary
ConstructorsConstructorDescriptionHeaderBlock
(InputStream stream) create a new HeaderBlockReader from an InputStreamHeaderBlock
(ByteBuffer buffer) HeaderBlock
(POIFSBigBlockSize bigBlockSize) Create a single instance initialized with default values -
Method Summary
Modifier and TypeMethodDescriptionint[]
Returns the offsets to the first (up to) 109 BAT sectors.int
int
get start of Property Tableint
int
int
int
void
setBATArray
(int[] bat_array) Sets the offsets of the first (up to) 109 BAT sectors.void
setBATCount
(int count) Sets the number of BAT blocks that are used.void
setPropertyStart
(int startBlock) Set start of Property Tablevoid
setSBATBlockCount
(int count) Set count of SBAT blocksvoid
setSBATStart
(int startBlock) Set start of small block allocation tablevoid
setXBATCount
(int count) Sets the number of XBAT (DIFAT) blocks usedvoid
setXBATStart
(int startBlock) Sets the first XBAT (DIFAT) block locationvoid
writeData
(OutputStream stream) Write the block's data to an OutputStream
-
Constructor Details
-
HeaderBlock
create a new HeaderBlockReader from an InputStream- Parameters:
stream
- the source InputStream- Throws:
IOException
- on errors or bad data
-
HeaderBlock
- Throws:
IOException
-
HeaderBlock
Create a single instance initialized with default values
-
-
Method Details
-
getPropertyStart
public int getPropertyStart()get start of Property Table- Returns:
- the index of the first block of the Property Table
-
setPropertyStart
public void setPropertyStart(int startBlock) Set start of Property Table- Parameters:
startBlock
- the index of the first block of the Property Table
-
getSBATStart
public int getSBATStart()- Returns:
- start of small block (MiniFAT) allocation table
-
getSBATCount
public int getSBATCount() -
setSBATStart
public void setSBATStart(int startBlock) Set start of small block allocation table- Parameters:
startBlock
- the index of the first big block of the small block allocation table
-
setSBATBlockCount
public void setSBATBlockCount(int count) Set count of SBAT blocks- Parameters:
count
- the number of SBAT blocks
-
getBATCount
public int getBATCount()- Returns:
- number of BAT blocks
-
setBATCount
public void setBATCount(int count) Sets the number of BAT blocks that are used. This is the number used in both the BAT and XBAT. -
getBATArray
public int[] getBATArray()Returns the offsets to the first (up to) 109 BAT sectors. Any additional BAT sectors are held in the XBAT (DIFAT) sectors in a chain.- Returns:
- BAT offset array
-
setBATArray
public void setBATArray(int[] bat_array) Sets the offsets of the first (up to) 109 BAT sectors. -
getXBATCount
public int getXBATCount()- Returns:
- XBAT (DIFAT) count
-
setXBATCount
public void setXBATCount(int count) Sets the number of XBAT (DIFAT) blocks used -
getXBATIndex
public int getXBATIndex()- Returns:
- XBAT (DIFAT) index
-
setXBATStart
public void setXBATStart(int startBlock) Sets the first XBAT (DIFAT) block location -
getBigBlockSize
- Returns:
- The Big Block size, normally 512 bytes, sometimes 4096 bytes
-
writeData
Write the block's data to an OutputStream- Parameters:
stream
- the OutputStream to which the stored data should be written- Throws:
IOException
- on problems writing to the specified stream
-