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
@NotThreadSafe public class Base64OutputStream extends WrappedOutputStream
ABase64OutputStreamwill write data to anotherOutputStream, given in the constructor, and encode/decode to/from Base64 notation on the fly.- Since:
- 1.3
- See Also:
Base64
-
-
Field Summary
-
Fields inherited from class java.io.FilterOutputStream
out
-
-
Constructor Summary
Constructors Constructor Description Base64OutputStream(OutputStream aOS)Constructs aBase64OutputStreamin ENCODE mode.Base64OutputStream(OutputStream aOS, int nOptions)Constructs aBase64OutputStreamin either ENCODE or DECODE mode.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Flushes and closes (I think, in the superclass) the stream.voidflushBase64()Method added by PHIL.voidresumeEncoding()Resumes 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"voidsuspendEncoding()Suspends 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, toString
-
Methods inherited from class java.io.FilterOutputStream
flush, write
-
Methods inherited from class java.io.OutputStream
nullOutputStream
-
-
-
-
Constructor Detail
-
Base64OutputStream
public Base64OutputStream(@Nonnull OutputStream aOS)
Constructs aBase64OutputStreamin ENCODE mode.- Parameters:
aOS- theOutputStreamto which data will be written.- Since:
- 1.3
-
Base64OutputStream
public Base64OutputStream(@Nonnull OutputStream aOS, int nOptions)
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:
Base64.ENCODE,Base64.DECODE,Base64.DO_BREAK_LINES
-
-
Method Detail
-
setNewLineBytes
public void setNewLineBytes(@Nonnull @Nonempty byte[] aNewLineBytes)
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
public void write(int theByte) throws IOExceptionWrites 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
public void flushBase64() throws IOExceptionMethod added by PHIL. [Thanks, PHIL. -Rob] This pads the buffer without closing the stream.- Throws:
IOException- if there's an error.
-
close
public void close() throws IOExceptionFlushes 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
public void suspendEncoding() throws IOExceptionSuspends 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
-
-