Class HeaderBlock

java.lang.Object
org.apache.poi.poifs.storage.HeaderBlock
All Implemented Interfaces:
HeaderBlockConstants

public final class HeaderBlock extends Object implements HeaderBlockConstants
The block containing the archive header
  • Constructor Details

    • HeaderBlock

      public HeaderBlock(InputStream stream) throws IOException
      create a new HeaderBlockReader from an InputStream
      Parameters:
      stream - the source InputStream
      Throws:
      IOException - on errors or bad data
    • HeaderBlock

      public HeaderBlock(ByteBuffer buffer) throws IOException
      Throws:
      IOException
    • HeaderBlock

      public HeaderBlock(POIFSBigBlockSize bigBlockSize)
      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

      public POIFSBigBlockSize getBigBlockSize()
      Returns:
      The Big Block size, normally 512 bytes, sometimes 4096 bytes
    • writeData

      public void writeData(OutputStream stream) throws IOException
      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