Package org.apache.commons.codec.binary
Class BaseNCodecOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.commons.codec.binary.BaseNCodecOutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
- Direct Known Subclasses:
Base16OutputStream
,Base32OutputStream
,Base64OutputStream
Abstract superclass for Base-N output streams.
To write the EOF marker without closing the stream, call eof()
or use an Apache Commons IO CloseShieldOutputStream.
- Since:
- 1.5
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BaseNCodec
private final BaseNCodec.Context
private final boolean
private final byte[]
Fields inherited from class java.io.FilterOutputStream
out
-
Constructor Summary
ConstructorsConstructorDescriptionBaseNCodecOutputStream
(OutputStream outputStream, BaseNCodec basedCodec, boolean doEncode) TODO should this be protected? -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes this output stream and releases any system resources associated with the stream.void
eof()
Writes EOF.void
flush()
Flushes this output stream and forces any buffered output bytes to be written out to the stream.private void
flush
(boolean propagate) Flushes this output stream and forces any buffered output bytes to be written out to the stream.boolean
Returns true if decoding behavior is strict.void
write
(byte[] array, int offset, int len) Writeslen
bytes from the specifiedb
array starting atoffset
to this output stream.void
write
(int i) Writes the specifiedbyte
to this output stream.Methods inherited from class java.io.FilterOutputStream
write
-
Field Details
-
doEncode
private final boolean doEncode -
baseNCodec
-
singleByte
private final byte[] singleByte -
context
-
-
Constructor Details
-
BaseNCodecOutputStream
TODO should this be protected?- Parameters:
outputStream
- the underlying output or null.basedCodec
- a BaseNCodec.doEncode
- true to encode, false to decode, TODO should be an enum?
-
-
Method Details
-
close
Closes this output stream and releases any system resources associated with the stream.To write the EOF marker without closing the stream, call
eof()
or use an Apache Commons IO CloseShieldOutputStream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classFilterOutputStream
- Throws:
IOException
- if an I/O error occurs.
-
eof
public void eof()Writes EOF.- Since:
- 1.11
-
flush
Flushes this output stream and forces any buffered output bytes to be written out to the stream.- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classFilterOutputStream
- Throws:
IOException
- if an I/O error occurs.
-
flush
Flushes this output stream and forces any buffered output bytes to be written out to the stream. If propagate is true, the wrapped stream will also be flushed.- Parameters:
propagate
- boolean flag to indicate whether the wrapped OutputStream should also be flushed.- Throws:
IOException
- if an I/O error occurs.
-
isStrictDecoding
public boolean isStrictDecoding()Returns true if decoding behavior is strict. Decoding will raise anIllegalArgumentException
if trailing bits are not part of a valid encoding.The default is false for lenient encoding. Decoding will compose trailing bits into 8-bit bytes and discard the remainder.
- Returns:
- true if using strict decoding
- Since:
- 1.15
-
write
Writeslen
bytes from the specifiedb
array starting atoffset
to this output stream.- Overrides:
write
in classFilterOutputStream
- Parameters:
array
- source byte arrayoffset
- where to start reading the byteslen
- maximum number of bytes to write- Throws:
IOException
- if an I/O error occurs.NullPointerException
- if the byte array parameter is nullIndexOutOfBoundsException
- if offset, len or buffer size are invalid
-
write
Writes the specifiedbyte
to this output stream.- Overrides:
write
in classFilterOutputStream
- Parameters:
i
- source byte- Throws:
IOException
- if an I/O error occurs.
-