Interface BitInputStream

  • All Superinterfaces:
    AutoCloseable, Closeable
    All Known Implementing Classes:
    ByteBitInputStream

    public interface BitInputStream
    extends Closeable
    A stream of bits that can be read. Bits are packed in little endian within a byte. For example, the byte 0x87 reads as the sequence of bits [1,1,1,0,0,0,0,1].
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void close()
      Closes this stream and the underlying input stream.
      int getBitPosition()
      Returns the current bit position, which ascends from 0 to 7 as bits are read.
      int read()
      Reads a bit from this stream.
      int readByte()
      Discards the remainder of the current byte (if any) and reads the next whole byte from the stream.
      int readNoEof()
      Reads a bit from this stream.
    • Method Detail

      • getBitPosition

        int getBitPosition()
        Returns the current bit position, which ascends from 0 to 7 as bits are read.
        Returns:
        the current bit position, which is between 0 and 7
      • readByte

        int readByte()
              throws IOException
        Discards the remainder of the current byte (if any) and reads the next whole byte from the stream. Returns -1 if the end of stream is reached.
        Returns:
        the next byte from the stream, or -1 if the end of stream is reached
        Throws:
        IOException
      • read

        int read()
          throws IOException
        Reads a bit from this stream. Returns 0 or 1 if a bit is available, or -1 if the end of stream is reached. The end of stream always occurs on a byte boundary.
        Returns:
        the next bit of 0 or 1, or -1 for the end of stream
        Throws:
        IOException - if an I/O exception occurred
      • readNoEof

        int readNoEof()
               throws IOException
        Reads a bit from this stream. Returns 0 or 1 if a bit is available, or throws an EOFException if the end of stream is reached. The end of stream always occurs on a byte boundary.
        Returns:
        the next bit of 0 or 1
        Throws:
        IOException - if an I/O exception occurred
        EOFException - if the end of stream is reached