Package com.helger.commons.base64
Class Base64OutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
com.helger.commons.io.stream.WrappedOutputStream
com.helger.commons.base64.Base64OutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
A
Base64OutputStream will write data to another
OutputStream , given in the constructor, and encode/decode
to/from Base64 notation on the fly.- Since:
- 1.3
- See Also:
-
Field Summary
Fields inherited from class java.io.FilterOutputStream
out -
Constructor Summary
ConstructorsConstructorDescriptionConstructs aBase64OutputStreamin ENCODE mode.Base64OutputStream(OutputStream aOS, int nOptions) Constructs aBase64OutputStreamin either ENCODE or DECODE mode. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Flushes and closes (I think, in the superclass) the stream.voidMethod added by PHIL.voidResumes encoding of the stream.voidsetNewLineBytes(byte[] aNewLineBytes) Set the newline bytes to be used, so that "\r\n" can be used instead of the default "\n"voidSuspends encoding of the stream.voidwrite(byte[] aBytes, int nOfs, int nLen) Callswrite(int)repeatedly until len bytes are written.voidwrite(int theByte) Writes the byte to the output stream after converting to/from Base64 notation.Methods inherited from class com.helger.commons.io.stream.WrappedOutputStream
getWrappedOutputStream, toStringMethods inherited from class java.io.FilterOutputStream
flush, writeMethods inherited from class java.io.OutputStream
nullOutputStream
-
Constructor Details
-
Base64OutputStream
Constructs aBase64OutputStreamin ENCODE mode.- Parameters:
aOS- theOutputStreamto which data will be written.- Since:
- 1.3
-
Base64OutputStream
Constructs aBase64OutputStreamin either ENCODE or DECODE mode.Valid options:
ENCODE or DECODE: Encode or Decode as data is read. DO_BREAK_LINES: don't break lines at 76 characters (only meaningful when encoding)Example:
new Base64.OutputStream( out, Base64.ENCODE )- Parameters:
aOS- theOutputStreamto which data will be written.nOptions- Specified options.- Since:
- 1.3
- See Also:
-
-
Method Details
-
setNewLineBytes
Set the newline bytes to be used, so that "\r\n" can be used instead of the default "\n"- Parameters:
aNewLineBytes- The newline bytes to be used. May neither benullnor empty.- Since:
- 9.3.4
-
write
Writes the byte to the output stream after converting to/from Base64 notation. When encoding, bytes are buffered three at a time before the output stream actually gets a write() call. When decoding, bytes are buffered four at a time.- Overrides:
writein classFilterOutputStream- Parameters:
theByte- the byte to write- Throws:
IOException- Since:
- 1.3
-
write
public void write(@Nonnull byte[] aBytes, @Nonnegative int nOfs, @Nonnegative int nLen) throws IOException Callswrite(int)repeatedly until len bytes are written.- Overrides:
writein classWrappedOutputStream- Parameters:
aBytes- array from which to read bytesnOfs- offset for arraynLen- max number of bytes to read into array- Throws:
IOException- Since:
- 1.3
-
flushBase64
Method added by PHIL. [Thanks, PHIL. -Rob] This pads the buffer without closing the stream.- Throws:
IOException- if there's an error.
-
close
Flushes and closes (I think, in the superclass) the stream.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterOutputStream- Throws:
IOException- Since:
- 1.3
-
suspendEncoding
Suspends encoding of the stream. May be helpful if you need to embed a piece of base64-encoded data in a stream.- Throws:
IOException- if there's an error flushing- Since:
- 1.5.1
-
resumeEncoding
public void resumeEncoding()Resumes encoding of the stream. May be helpful if you need to embed a piece of base64-encoded data in a stream.- Since:
- 1.5.1
-