Class ByteBufOutputStream
java.lang.Object
java.io.OutputStream
io.netty.buffer.ByteBufOutputStream
- All Implemented Interfaces:
java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.lang.AutoCloseable
public class ByteBufOutputStream
extends java.io.OutputStream
implements java.io.DataOutput
An
OutputStream which writes data to a ByteBuf.
A write operation against this stream will occur at the writerIndex
of its underlying buffer and the writerIndex will increase during
the write operation.
This stream implements DataOutput for your convenience.
The endianness of the stream is not always big endian but depends on
the endianness of the underlying buffer.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ByteBufprivate booleanprivate final booleanprivate final intprivate java.io.DataOutputStream -
Constructor Summary
ConstructorsConstructorDescriptionByteBufOutputStream(ByteBuf buffer) Creates a new stream which writes data to the specifiedbuffer.ByteBufOutputStream(ByteBuf buffer, boolean releaseOnClose) Creates a new stream which writes data to the specifiedbuffer. -
Method Summary
Modifier and TypeMethodDescriptionbuffer()Returns the buffer where this stream is writing data.voidclose()voidwrite(byte[] b) voidwrite(byte[] b, int off, int len) voidwrite(int b) voidwriteBoolean(boolean v) voidwriteByte(int v) voidwriteBytes(java.lang.String s) voidwriteChar(int v) voidwriteChars(java.lang.String s) voidwriteDouble(double v) voidwriteFloat(float v) voidwriteInt(int v) voidwriteLong(long v) voidwriteShort(int v) voidwriteUTF(java.lang.String s) intReturns the number of written bytes by this stream so far.Methods inherited from class java.io.OutputStream
flushMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
buffer
-
startIndex
private final int startIndex -
utf8out
private java.io.DataOutputStream utf8out -
closed
private boolean closed -
releaseOnClose
private final boolean releaseOnClose
-
-
Constructor Details
-
ByteBufOutputStream
Creates a new stream which writes data to the specifiedbuffer. -
ByteBufOutputStream
Creates a new stream which writes data to the specifiedbuffer.- Parameters:
buffer- Writes data to the buffer for thisOutputStream.releaseOnClose-truemeans that whenclose()is called thenReferenceCounted.release()will be called onbuffer.
-
-
Method Details
-
writtenBytes
public int writtenBytes()Returns the number of written bytes by this stream so far. -
write
public void write(byte[] b, int off, int len) throws java.io.IOException - Specified by:
writein interfacejava.io.DataOutput- Overrides:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b) throws java.io.IOException - Specified by:
writein interfacejava.io.DataOutput- Overrides:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(int b) throws java.io.IOException - Specified by:
writein interfacejava.io.DataOutput- Specified by:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
writeBoolean
public void writeBoolean(boolean v) throws java.io.IOException - Specified by:
writeBooleanin interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeByte
public void writeByte(int v) throws java.io.IOException - Specified by:
writeBytein interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeBytes
public void writeBytes(java.lang.String s) throws java.io.IOException - Specified by:
writeBytesin interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeChar
public void writeChar(int v) throws java.io.IOException - Specified by:
writeCharin interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeChars
public void writeChars(java.lang.String s) throws java.io.IOException - Specified by:
writeCharsin interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeDouble
public void writeDouble(double v) throws java.io.IOException - Specified by:
writeDoublein interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeFloat
public void writeFloat(float v) throws java.io.IOException - Specified by:
writeFloatin interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeInt
public void writeInt(int v) throws java.io.IOException - Specified by:
writeIntin interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeLong
public void writeLong(long v) throws java.io.IOException - Specified by:
writeLongin interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeShort
public void writeShort(int v) throws java.io.IOException - Specified by:
writeShortin interfacejava.io.DataOutput- Throws:
java.io.IOException
-
writeUTF
public void writeUTF(java.lang.String s) throws java.io.IOException - Specified by:
writeUTFin interfacejava.io.DataOutput- Throws:
java.io.IOException
-
buffer
Returns the buffer where this stream is writing data. -
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.OutputStream- Throws:
java.io.IOException
-