Package org.apache.commons.codec.binary
Class BaseNCodecInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- org.apache.commons.codec.binary.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
-
-
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 onebyte
from this input stream.int
read(byte[] array, int offset, int len)
Attempts to readlen
bytes into the specifiedb
array starting atoffset
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)
-
-
-
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 classjava.io.FilterInputStream
- Returns:
0
if theInputStream
has reachedEOF
,1
otherwise- Throws:
java.io.IOException
- Since:
- 1.7
-
isStrictDecoding
public boolean isStrictDecoding()
Returns true if decoding behavior is strict. Decoding will raise anIllegalArgumentException
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 ofBaseNCodecInputStream
does nothing.- Overrides:
mark
in classjava.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 classjava.io.FilterInputStream
- Returns:
- Always returns
false
-
read
public int read() throws java.io.IOException
Reads onebyte
from this input stream.- Overrides:
read
in classjava.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 readlen
bytes into the specifiedb
array starting atoffset
from this InputStream.- Overrides:
read
in classjava.io.FilterInputStream
- Parameters:
array
- destination byte arrayoffset
- where to start writing the byteslen
- 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 nulljava.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 ofBaseNCodecInputStream
does nothing except throw anIOException
.- Overrides:
reset
in classjava.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 classjava.io.FilterInputStream
- Throws:
java.lang.IllegalArgumentException
- if the provided skip length is negativejava.io.IOException
- Since:
- 1.7
-
-