Class RawDataBlock

java.lang.Object
org.docx4j.org.apache.poi.poifs.storage.RawDataBlock
All Implemented Interfaces:
ListManagedBlock

public class RawDataBlock extends Object implements ListManagedBlock
A big block created from an InputStream, holding the raw data
Author:
Marc Johnson (mjohnson at apache dot org
  • Constructor Details

    • RawDataBlock

      public RawDataBlock(InputStream stream) throws IOException
      Constructor RawDataBlock
      Parameters:
      stream - the InputStream from which the data will be read
      Throws:
      IOException - on I/O errors, and if an insufficient amount of data is read (the InputStream must be an exact multiple of the block size)
    • RawDataBlock

      public RawDataBlock(InputStream stream, int blockSize) throws IOException
      Constructor RawDataBlock
      Parameters:
      stream - the InputStream from which the data will be read
      blockSize - the size of the POIFS blocks, normally 512 bytes POIFSConstants.SMALLER_BIG_BLOCK_SIZE
      Throws:
      IOException - on I/O errors, and if an insufficient amount of data is read (the InputStream must be an exact multiple of the block size)
  • Method Details

    • eof

      public boolean eof()
      When we read the data, did we hit end of file?
      Returns:
      true if the EoF was hit during this block, or false if not. If you have a dodgy short last block, then it's possible to both have data, and also hit EoF...
    • hasData

      public boolean hasData()
      Did we actually find any data to read? It's possible, in the event of a short last block, to both have hit the EoF, but also to have data
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getData

      public byte[] getData() throws IOException
      Get the data from the block
      Specified by:
      getData in interface ListManagedBlock
      Returns:
      the block's data as a byte array
      Throws:
      IOException - if there is no data
    • getBigBlockSize

      public int getBigBlockSize()
      What's the big block size?