public class BASE64DecoderStream
extends java.io.FilterInputStream
Modifier and Type | Field and Description |
---|---|
private byte[] |
buffer |
private int |
bufsize |
private boolean |
ignoreErrors |
private int |
index |
private byte[] |
input_buffer |
private int |
input_len |
private int |
input_pos |
private static char[] |
pem_array
This character array provides the character to value map
based on RFC1521.
|
private static byte[] |
pem_convert_array |
Constructor and Description |
---|
BASE64DecoderStream(java.io.InputStream in)
Create a BASE64 decoder that decodes the specified input stream.
|
BASE64DecoderStream(java.io.InputStream in,
boolean ignoreErrors)
Create a BASE64 decoder that decodes the specified input stream.
|
Modifier and Type | Method and Description |
---|---|
int |
available()
Returns the number of bytes that can be read from this input
stream without blocking.
|
static byte[] |
decode(byte[] inbuf)
Base64 decode a byte array.
|
private int |
decode(byte[] outbuf,
int pos,
int len)
The decoder algorithm.
|
private int |
getByte()
Read the next valid byte from the input stream.
|
boolean |
markSupported()
Tests if this input stream supports marks.
|
int |
read()
Read the next decoded byte from this input stream.
|
int |
read(byte[] buf,
int off,
int len)
Reads up to
len decoded bytes of data from this input stream
into an array of bytes. |
private java.lang.String |
recentChars()
Return the most recent characters, for use in an error message.
|
long |
skip(long n)
Skips over and discards n bytes of data from this stream.
|
private byte[] buffer
private int bufsize
private int index
private byte[] input_buffer
private int input_pos
private int input_len
private boolean ignoreErrors
private static final char[] pem_array
private static final byte[] pem_convert_array
public BASE64DecoderStream(java.io.InputStream in)
mail.mime.base64.ignoreerrors
controls whether errors in the encoded data cause an exception
or are ignored. The default is false (errors cause exception).in
- the input streampublic BASE64DecoderStream(java.io.InputStream in, boolean ignoreErrors)
in
- the input streamignoreErrors
- ignore errors in encoded data?public int read() throws java.io.IOException
int
in the range 0
to 255
. If no byte is available because the end of
the stream has been reached, the value -1
is returned.
This method blocks until input data is available, the end of the
stream is detected, or an exception is thrown.read
in class java.io.FilterInputStream
-1
if the end of the
stream is reached.java.io.IOException
- if an I/O error occurs.FilterInputStream.in
public int read(byte[] buf, int off, int len) throws java.io.IOException
len
decoded bytes of data from this input stream
into an array of bytes. This method blocks until some input is
available.
read
in class java.io.FilterInputStream
buf
- the buffer into which the data is read.off
- the start offset of the data.len
- the maximum number of bytes read.-1
if there is no more data because the end of
the stream has been reached.java.io.IOException
- if an I/O error occurs.public long skip(long n) throws java.io.IOException
skip
in class java.io.FilterInputStream
java.io.IOException
public boolean markSupported()
markSupported
in class java.io.FilterInputStream
public int available() throws java.io.IOException
available
in class java.io.FilterInputStream
java.io.IOException
private int decode(byte[] outbuf, int pos, int len) throws java.io.IOException
outbuf
- the buffer into which to put the decoded bytespos
- position in the buffer to start fillinglen
- the number of bytes to filljava.io.IOException
- if the data is incorrectly formattedprivate int getByte() throws java.io.IOException
java.io.IOException
private java.lang.String recentChars()
public static byte[] decode(byte[] inbuf)
inbuf
- the byte array