public class BASE64EncoderStream
extends java.io.FilterOutputStream
Modifier and Type | Field and Description |
---|---|
private byte[] |
buffer |
private int |
bufsize |
private int |
bytesPerLine |
private int |
count |
private int |
lineLimit |
private static byte[] |
newline |
private boolean |
noCRLF |
private byte[] |
outbuf |
private static char[] |
pem_array
This array maps the characters to their 6 bit values
|
Constructor and Description |
---|
BASE64EncoderStream(java.io.OutputStream out)
Create a BASE64 encoder that encodes the specified input stream.
|
BASE64EncoderStream(java.io.OutputStream out,
int bytesPerLine)
Create a BASE64 encoder that encodes the specified output stream.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Forces any buffered output bytes to be encoded out to the stream
and closes this output stream
|
private void |
encode()
Encode the data stored in
buffer . |
static byte[] |
encode(byte[] inbuf)
Base64 encode a byte array.
|
private static byte[] |
encode(byte[] inbuf,
int off,
int size,
byte[] outbuf)
Internal use only version of encode.
|
private static int |
encodedSize(int size)
Return the corresponding encoded size for the given number
of bytes, not including any CRLF.
|
void |
flush()
Flushes this output stream and forces any buffered output bytes
to be encoded out to the stream.
|
void |
write(byte[] b)
Encodes
b.length bytes to this output stream. |
void |
write(byte[] b,
int off,
int len)
Encodes
len bytes from the specified
byte array starting at offset off to
this output stream. |
void |
write(int c)
Encodes the specified
byte to this output stream. |
private byte[] buffer
private int bufsize
private byte[] outbuf
private int count
private int bytesPerLine
private int lineLimit
private boolean noCRLF
private static byte[] newline
private static final char[] pem_array
public BASE64EncoderStream(java.io.OutputStream out, int bytesPerLine)
out
- the output streambytesPerLine
- number of bytes per line. The encoder inserts
a CRLF sequence after the specified number of bytes,
unless bytesPerLine is Integer.MAX_VALUE, in which
case no CRLF is inserted. bytesPerLine is rounded
down to a multiple of 4.public BASE64EncoderStream(java.io.OutputStream out)
out
- the output streampublic void write(byte[] b, int off, int len) throws java.io.IOException
len
bytes from the specified
byte
array starting at offset off
to
this output stream.write
in class java.io.FilterOutputStream
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.java.io.IOException
- if an I/O error occurs.public void write(byte[] b) throws java.io.IOException
b.length
bytes to this output stream.write
in class java.io.FilterOutputStream
b
- the data to be written.java.io.IOException
- if an I/O error occurs.public void write(int c) throws java.io.IOException
byte
to this output stream.write
in class java.io.FilterOutputStream
c
- the byte
.java.io.IOException
- if an I/O error occurs.public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.FilterOutputStream
java.io.IOException
- if an I/O error occurs.public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.FilterOutputStream
java.io.IOException
private void encode() throws java.io.IOException
buffer
.
Uses outbuf
to store the encoded
data before writing.java.io.IOException
- if an I/O error occurs.public static byte[] encode(byte[] inbuf)
inbuf
- the byte arrayprivate static byte[] encode(byte[] inbuf, int off, int size, byte[] outbuf)
private static int encodedSize(int size)