Class BitInputStreamFlexible

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    class BitInputStreamFlexible
    extends java.io.InputStream
    Input stream that allows reading up to 32 bits across byte boundaries in most significant bit first order.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private long bytesRead  
      private int cache  
      private int cacheBitsRemaining  
      private java.io.InputStream is  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void flushCache()  
      long getBytesRead()  
      int read()  
      int readBits​(int count)  
      • Methods inherited from class java.io.InputStream

        available, close, mark, markSupported, nullInputStream, read, read, readAllBytes, readNBytes, readNBytes, reset, skip, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • is

        private final java.io.InputStream is
      • cache

        private int cache
      • cacheBitsRemaining

        private int cacheBitsRemaining
      • bytesRead

        private long bytesRead
    • Constructor Detail

      • BitInputStreamFlexible

        BitInputStreamFlexible​(java.io.InputStream is)
    • Method Detail

      • read

        public int read()
                 throws java.io.IOException
        Specified by:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • readBits

        public final int readBits​(int count)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • flushCache

        public void flushCache()
      • getBytesRead

        public long getBytesRead()