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
public class BaseNCodecOutputStream extends FilterOutputStream
Abstract superclass for Base-N output streams.To write the EOF marker without closing the stream, call
eof()
or use an Apache Commons IOCloseShieldOutputStream.- Since:
- 1.5
Field Summary
Fields inherited from class java.io.FilterOutputStream
out
Constructor Summary
Constructors Constructor and Description BaseNCodecOutputStream(OutputStream output, BaseNCodec basedCodec, boolean doEncode)
TODO should this be protected?
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description void
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.boolean
isStrictDecoding()
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
Constructor Detail
BaseNCodecOutputStream
public BaseNCodecOutputStream(OutputStream output, BaseNCodec basedCodec, boolean doEncode)
TODO should this be protected?- Parameters:
output
- the underlying output or null.basedCodec
- a BaseNCodec.doEncode
- true to encode, false to decode, TODO should be an enum?
Method Detail
close
public void close() throws IOException
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 IOCloseShieldOutputStream.- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceAutoCloseable
- Overrides:
close
in classFilterOutputStream
- Throws:
IOException
- if an I/O error occurs.
eof
public void eof() throws IOException
Writes EOF.- Throws:
IOException
- if an I/O error occurs.- Since:
- 1.11
flush
public void flush() throws IOException
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.
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
public void write(byte[] array, int offset, int len) throws IOException
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
public void write(int i) throws IOException
Writes the specifiedbyte
to this output stream.- Overrides:
write
in classFilterOutputStream
- Parameters:
i
- source byte- Throws:
IOException
- if an I/O error occurs.
Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.