public class Base64OutputStream extends OutputStream implements OutputStreaming
| Modifier and Type | Field and Description |
|---|---|
protected static char[] |
BASE64_ALPHABET
Base64 encodes into this "alphabet" of 64 characters.
|
protected static char |
BASE64_LF
The Base64 line feed character.
|
protected static char |
BASE64_PAD
The Base64 padding character.
|
protected static int |
GROUPS_PER_LINE
The number of Base64 character groups in one line.
|
protected byte[] |
m_abAccum
Accumulated bytes.
|
protected char[] |
m_achGroup
An array that is used to send 4 characters at a time to the underlying Writer object.
|
protected int |
m_cAccum
The number of bytes accumulated (0, 1, 2 or 3).
|
protected int |
m_cLineGroups
The number of groups left to write in the current line.
|
protected boolean |
m_fBreakLines
True if lines are to be broken by BASE64_LF;
|
protected boolean |
m_fClosed
True after close is invoked.
|
protected Writer |
m_writer
The Writer object to which the Base64 encoded data is written.
|
| Constructor and Description |
|---|
Base64OutputStream(Writer writer)
Construct a Base64OutputStream on a Writer object.
|
Base64OutputStream(Writer writer, boolean fBreakLines)
Construct a Base64OutputStream on a Writer object and specifying a line-break option.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close the stream, flushing any accumulated bytes.
|
static char[] |
encode(byte[] ab)
Encode the passed binary data using Base64 encoding.
|
static char[] |
encode(byte[] ab, boolean fBreakLines)
Encode the passed binary data using Base64 encoding.
|
static char[] |
encode(byte[] ab, int ofb, int cb, boolean fBreakLines)
Encode the passed binary data using Base64 encoding.
|
void |
flush()
Close the stream, flushing any accumulated bytes.
|
protected void |
flushAccumulator()
Flushes the bytes accumulated by the write(int) method.
|
void |
write(byte[] ab, int ofb, int cb)
Writes
len bytes from the specified byte array starting at offset off to this output stream. |
void |
write(int b)
Writes the specified byte to this output stream.
|
writeprotected static final char[] BASE64_ALPHABET
protected static final char BASE64_PAD
protected static final char BASE64_LF
protected static final int GROUPS_PER_LINE
protected boolean m_fClosed
protected Writer m_writer
protected boolean m_fBreakLines
protected int m_cLineGroups
protected byte[] m_abAccum
protected int m_cAccum
protected char[] m_achGroup
public Base64OutputStream(Writer writer)
writer - the Writer to write the Base64 encoded data topublic Base64OutputStream(Writer writer, boolean fBreakLines)
writer - the Writer to write the Base64 encoded data tofBreakLines - true to break the output into 76-character lines
public void write(int b)
throws IOException
write in interface com.oracle.common.io.OutputStreamingwrite in class OutputStreamb - the byte.IOException - if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed.
public void write(byte[] ab,
int ofb,
int cb)
throws IOException
len bytes from the specified byte array starting at offset off to this output stream.
If b is null, a NullPointerException is thrown.
If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.
write in interface com.oracle.common.io.OutputStreamingwrite in class OutputStreamab - the dataofb - the start offset in the datacb - the number of bytes to writeIOException - if an I/O error occurs. In particular, an IOException is thrown if the output stream is closed.
public void flush()
throws IOException
flush in interface com.oracle.common.io.OutputStreamingflush in interface Flushableflush in class OutputStreamIOException - if an I/O error occurs
public void close()
throws IOException
close in interface com.oracle.common.io.OutputStreamingclose in interface Closeableclose in interface AutoCloseableclose in class OutputStreamIOException - if an I/O error occurs
protected void flushAccumulator()
throws IOException
IOException - if an I/O error occurspublic static char[] encode(byte[] ab)
ab - the array containing the bytes to encode
public static char[] encode(byte[] ab,
boolean fBreakLines)
ab - the array containing the bytes to encodefBreakLines - true to break the output into 76-character lines
public static char[] encode(byte[] ab,
int ofb,
int cb,
boolean fBreakLines)
ab - the array containing the bytes to encodeofb - the start offset in the byte arraycb - the number of bytes to encodefBreakLines - true to break the output into 76-character lines