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:
Closeable
,AutoCloseable
- Direct Known Subclasses:
Base16InputStream
,Base32InputStream
,Base64InputStream
Abstract superclass for Base-N input streams.
- Since:
- 1.5
-
Field Summary
Fields inherited from class java.io.FilterInputStream
in
-
Constructor Summary
ModifierConstructorDescriptionprotected
BaseNCodecInputStream
(InputStream inputStream, BaseNCodec baseNCodec, boolean doEncode) Constructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionint
boolean
Returns true if decoding behavior is strict.void
mark
(int readLimit) Marks the current position in this input stream.boolean
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) Methods inherited from class java.io.FilterInputStream
close, read
-
Constructor Details
-
BaseNCodecInputStream
Constructs a new instance.- Parameters:
inputStream
- the input streambaseNCodec
- the codecdoEncode
- set to true to perform encoding, else decoding
-
-
Method Details
-
available
- Overrides:
available
in classFilterInputStream
- Returns:
0
if theInputStream
has reachedEOF
,1
otherwise- Throws:
IOException
- Since:
- 1.7
-
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
Marks the current position in this input stream.The
mark(int)
method ofBaseNCodecInputStream
does nothing.- Overrides:
mark
in classFilterInputStream
- Parameters:
readLimit
- the maximum limit of bytes that can be read before the mark position becomes invalid.- Since:
- 1.7
- See Also:
-
markSupported
- Overrides:
markSupported
in classFilterInputStream
- Returns:
- Always returns
false
-
read
Reads onebyte
from this input stream.- Overrides:
read
in classFilterInputStream
- Returns:
- the byte as an integer in the range 0 to 255. Returns -1 if EOF has been reached.
- Throws:
IOException
- if an I/O error occurs.
-
read
Attempts to readlen
bytes into the specifiedb
array starting atoffset
from this InputStream.- Overrides:
read
in classFilterInputStream
- Parameters:
array
- destination byte arrayoffset
- where to start writing the byteslen
- maximum number of bytes to read- Returns:
- number of bytes read
- Throws:
IOException
- if an I/O error occurs.NullPointerException
- if the byte array parameter is nullIndexOutOfBoundsException
- if offset, len or buffer size are invalid
-
reset
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 classFilterInputStream
- Throws:
IOException
- if this method is invoked- Since:
- 1.7
-
skip
- Overrides:
skip
in classFilterInputStream
- Throws:
IllegalArgumentException
- if the provided skip length is negativeIOException
- Since:
- 1.7
-