Class BaseNCodecInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    Base16InputStream, Base32InputStream, Base64InputStream

    public class BaseNCodecInputStream
    extends java.io.FilterInputStream
    Abstract superclass for Base-N input streams.
    Since:
    1.5
    • Field Summary

      • Fields inherited from class java.io.FilterInputStream

        in
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BaseNCodecInputStream​(java.io.InputStream input, BaseNCodec baseNCodec, boolean doEncode)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()
      boolean isStrictDecoding()
      Returns true if decoding behavior is strict.
      void mark​(int readLimit)
      Marks the current position in this input stream.
      boolean markSupported()
      int read()
      Reads one byte from this input stream.
      int read​(byte[] array, int offset, int len)
      Attempts to read len bytes into the specified b array starting at offset from this InputStream.
      void reset()
      Repositions this stream to the position at the time the mark method was last called on this input stream.
      long skip​(long n)
      • Methods inherited from class java.io.FilterInputStream

        close, read
      • Methods inherited from class java.io.InputStream

        nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • Methods inherited from class java.lang.Object

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

      • BaseNCodecInputStream

        protected BaseNCodecInputStream​(java.io.InputStream input,
                                        BaseNCodec baseNCodec,
                                        boolean doEncode)
    • Method Detail

      • available

        public int available()
                      throws java.io.IOException
        Overrides:
        available in class java.io.FilterInputStream
        Returns:
        0 if the InputStream has reached EOF, 1 otherwise
        Throws:
        java.io.IOException
        Since:
        1.7
      • isStrictDecoding

        public boolean isStrictDecoding()
        Returns true if decoding behavior is strict. Decoding will raise an IllegalArgumentException if trailing bits are not part of a valid encoding.

        The default is false for lenient encoding. Decoding will compose trailing bits into 8-bit bytes and discard the remainder.

        Returns:
        true if using strict decoding
        Since:
        1.15
      • mark

        public void mark​(int readLimit)
        Marks the current position in this input stream.

        The mark(int) method of BaseNCodecInputStream does nothing.

        Overrides:
        mark in class java.io.FilterInputStream
        Parameters:
        readLimit - the maximum limit of bytes that can be read before the mark position becomes invalid.
        Since:
        1.7
        See Also:
        markSupported()
      • markSupported

        public boolean markSupported()
        Overrides:
        markSupported in class java.io.FilterInputStream
        Returns:
        Always returns false
      • read

        public int read()
                 throws java.io.IOException
        Reads one byte from this input stream.
        Overrides:
        read in class java.io.FilterInputStream
        Returns:
        the byte as an integer in the range 0 to 255. Returns -1 if EOF has been reached.
        Throws:
        java.io.IOException - if an I/O error occurs.
      • read

        public int read​(byte[] array,
                        int offset,
                        int len)
                 throws java.io.IOException
        Attempts to read len bytes into the specified b array starting at offset from this InputStream.
        Overrides:
        read in class java.io.FilterInputStream
        Parameters:
        array - destination byte array
        offset - where to start writing the bytes
        len - maximum number of bytes to read
        Returns:
        number of bytes read
        Throws:
        java.io.IOException - if an I/O error occurs.
        java.lang.NullPointerException - if the byte array parameter is null
        java.lang.IndexOutOfBoundsException - if offset, len or buffer size are invalid
      • reset

        public void reset()
                   throws java.io.IOException
        Repositions this stream to the position at the time the mark method was last called on this input stream.

        The reset() method of BaseNCodecInputStream does nothing except throw an IOException.

        Overrides:
        reset in class java.io.FilterInputStream
        Throws:
        java.io.IOException - if this method is invoked
        Since:
        1.7
      • skip

        public long skip​(long n)
                  throws java.io.IOException
        Overrides:
        skip in class java.io.FilterInputStream
        Throws:
        java.lang.IllegalArgumentException - if the provided skip length is negative
        java.io.IOException
        Since:
        1.7