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.
|
write
protected 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 linespublic void write(int b) throws IOException
write
in interface com.oracle.common.io.OutputStreaming
write
in class OutputStream
b
- 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.OutputStreaming
write
in class OutputStream
ab
- 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.OutputStreaming
flush
in interface Flushable
flush
in class OutputStream
IOException
- if an I/O error occurspublic void close() throws IOException
close
in interface com.oracle.common.io.OutputStreaming
close
in interface Closeable
close
in interface AutoCloseable
close
in class OutputStream
IOException
- if an I/O error occursprotected void flushAccumulator() throws IOException
IOException
- if an I/O error occurspublic static char[] encode(byte[] ab)
ab
- the array containing the bytes to encodepublic static char[] encode(byte[] ab, boolean fBreakLines)
ab
- the array containing the bytes to encodefBreakLines
- true to break the output into 76-character linespublic 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