Package com.sun.mail.util
Class BASE64EncoderStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
com.sun.mail.util.BASE64EncoderStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
- Direct Known Subclasses:
BEncoderStream
This class implements a BASE64 encoder. It is implemented as
a FilterOutputStream, so one can just wrap this class around
any output stream and write bytes into this filter. The encoding
is done as the bytes are written out.
- Author:
- John Mani, Bill Shannon
-
Field Summary
Fields inherited from class java.io.FilterOutputStream
out -
Constructor Summary
ConstructorsConstructorDescriptionCreate a BASE64 encoder that encodes the specified input stream.BASE64EncoderStream(OutputStream out, int bytesPerLine) Create a BASE64 encoder that encodes the specified output stream. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Forces any buffered output bytes to be encoded out to the stream and closes this output streamvoidflush()Flushes this output stream and forces any buffered output bytes to be encoded out to the stream.voidwrite(byte[] b) Encodesb.lengthbytes to this output stream.voidwrite(byte[] b, int off, int len) Encodeslenbytes from the specifiedbytearray starting at offsetoffto this output stream.voidwrite(int c) Encodes the specifiedbyteto this output stream.Methods inherited from class java.io.OutputStream
nullOutputStream
-
Constructor Details
-
BASE64EncoderStream
Create a BASE64 encoder that encodes the specified output stream.- Parameters:
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.
-
BASE64EncoderStream
Create a BASE64 encoder that encodes the specified input stream. Inserts the CRLF sequence after outputting 76 bytes.- Parameters:
out- the output stream
-
-
Method Details
-
write
Encodeslenbytes from the specifiedbytearray starting at offsetoffto this output stream.- Overrides:
writein classFilterOutputStream- Parameters:
b- the data.off- the start offset in the data.len- the number of bytes to write.- Throws:
IOException- if an I/O error occurs.
-
write
Encodesb.lengthbytes to this output stream.- Overrides:
writein classFilterOutputStream- Parameters:
b- the data to be written.- Throws:
IOException- if an I/O error occurs.
-
write
Encodes the specifiedbyteto this output stream.- Overrides:
writein classFilterOutputStream- Parameters:
c- thebyte.- Throws:
IOException- if an I/O error occurs.
-
flush
Flushes this output stream and forces any buffered output bytes to be encoded out to the stream.- Specified by:
flushin interfaceFlushable- Overrides:
flushin classFilterOutputStream- Throws:
IOException- if an I/O error occurs.
-
close
Forces any buffered output bytes to be encoded out to the stream and closes this output stream- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterOutputStream- Throws:
IOException
-