public class

BASE64DecoderStream

extends FilterInputStream
java.lang.Object
   ↳ java.io.InputStream
     ↳ java.io.FilterInputStream
       ↳ com.google.code.com.sun.mail.util.BASE64DecoderStream

Class Overview

This class implements a BASE64 Decoder. It is implemented as a FilterInputStream, so one can just wrap this class around any input stream and read bytes from this filter. The decoding is done as the bytes are read out.

Summary

[Expand]
Inherited Constants
From class java.io.InputStream
Fields
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 final char[] pem_array This character array provides the character to value map based on RFC1521.
private static final byte[] pem_convert_array
[Expand]
Inherited Fields
From class java.io.FilterInputStream
Public Constructors
BASE64DecoderStream(InputStream in)
Create a BASE64 decoder that decodes the specified input stream.
BASE64DecoderStream(InputStream in, boolean ignoreErrors)
Create a BASE64 decoder that decodes the specified input stream.
Public Methods
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.
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.
long skip(long n)
Skips over and discards n bytes of data from this stream.
[Expand]
Inherited Methods
From class java.io.FilterInputStream
From class java.io.InputStream
From class java.lang.Object
From interface java.io.Closeable

Fields

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 final char[] pem_array

This character array provides the character to value map based on RFC1521.

private static final byte[] pem_convert_array

Public Constructors

public BASE64DecoderStream (InputStream in)

Create a BASE64 decoder that decodes the specified input stream. The System property mail.mime.base64.ignoreerrors controls whether errors in the encoded data cause an exception or are ignored. The default is false (errors cause exception).

Parameters
in The input stream

public BASE64DecoderStream (InputStream in, boolean ignoreErrors)

Create a BASE64 decoder that decodes the specified input stream.

Parameters
in The input stream
ignoreErrors Ignore errors in encoded data?

Public Methods

public int available ()

Returns the number of bytes that can be read from this input stream without blocking. However, this figure is only a close approximation in case the original encoded stream contains embedded CRLFs; since the CRLFs are discarded, not decoded

Throws
IOException

public static byte[] decode (byte[] inbuf)

Base64 decode a byte array. No line breaks are allowed. This method is suitable for short strings, such as those in the IMAP AUTHENTICATE protocol, but not to decode the entire content of a MIME part. NOTE: inbuf may only contain valid base64 characters. Whitespace is not ignored.

Parameters
inbuf

public boolean markSupported ()

Tests if this input stream supports marks. Currently this class does not support marks

public int read ()

Read the next decoded byte from this input stream. The byte is returned as an 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.

Returns
  • next byte of data, or -1 if the end of the stream is reached.
Throws
IOException if an I/O error occurs.
See Also

public 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. This method blocks until some input is available.

Parameters
buf The buffer into which the data is read.
off The start offset of the data.
len The maximum number of bytes read.
Returns
  • the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
Throws
IOException if an I/O error occurs.

public long skip (long n)

Skips over and discards n bytes of data from this stream.

Parameters
n
Throws
IOException