public class Base64InputStream extends FilterInputStream
Base64
for an explanation of the rationale
for creating the variants in this package.
Provides Base64 encoding and decoding in a streaming fashion (unlimited size).
The behaviour of the Base64OutputStream is to ENCODE, whereas the behaviour of the Base64InputStream is to DECODE.
This class implements section 6.8. Base64 Content-Transfer-Encoding from RFC 2045 Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies by Freed and Borenstein.
Since this class operates directly on byte streams, and not character streams, it is hard-coded to only encode/decode character encodings which are compatible with the lower 127 ASCII chart (ISO-8859-1, Windows-1252, UTF-8, etc).
in
Constructor and Description |
---|
Base64InputStream(InputStream in)
Creates a Base64InputStream such that all data read is Base64-decoded from the original
provided InputStream.
|
Modifier and Type | Method and Description |
---|---|
int |
available() |
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[] b,
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) |
close, read
public Base64InputStream(InputStream in)
in
- InputStream to wrap.public int available() throws IOException
available
in class FilterInputStream
0
if the InputStream
has reached EOF
,
1
otherwiseIOException
public void mark(int readLimit)
The mark
method of BaseNCodecInputStream
does nothing.
mark
in class FilterInputStream
readLimit
- the maximum limit of bytes that can be read before the mark position becomes invalid.public boolean markSupported()
markSupported
in class FilterInputStream
false
public int read() throws IOException
byte
from this input stream.read
in class FilterInputStream
IOException
- if an I/O error occurs.public int read(byte[] b, int offset, int len) throws IOException
len
bytes into the specified b
array starting at offset
from this InputStream.read
in class FilterInputStream
b
- destination byte arrayoffset
- where to start writing the byteslen
- maximum number of bytes to readIOException
- if an I/O error occurs.NullPointerException
- if the byte array parameter is nullIndexOutOfBoundsException
- if offset, len or buffer size are invalidpublic void reset() throws IOException
The reset()
method of BaseNCodecInputStream
does nothing except throw an IOException
.
reset
in class FilterInputStream
IOException
- if this method is invokedpublic long skip(long n) throws IOException
skip
in class FilterInputStream
IllegalArgumentException
- if the provided skip length is negativeIOException
Copyright © 2023 JBoss by Red Hat. All rights reserved.