org.jboss.netty.buffer

## Class ChannelBufferOutputStream

- java.lang.Object
- - java.io.OutputStream
  - - org.jboss.netty.buffer.ChannelBufferOutputStream

All Implemented Interfaces:
  Closeable, DataOutput, Flushable, AutoCloseable

    public class ChannelBufferOutputStream
    extends OutputStream
    implements DataOutput

An `OutputStream` which writes data to a `ChannelBuffer`.

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:
  `ChannelBufferInputStream`

### Constructor Summary

Constructors
Constructor and Description
`ChannelBufferOutputStream(ChannelBuffer buffer)` Creates a new stream which writes data to the specified `buffer`.

### Method Summary

Methods
`ChannelBuffer` `buffer()` Returns the buffer where this stream is writing data.
`void` `write(byte[] b)`
`void` `write(byte[] b, int off, int len)`
`void` `write(int b)`
`void` `writeBoolean(boolean v)`
`void` `writeByte(int v)`
`void` `writeBytes(String s)`
`void` `writeChar(int v)`
`void` `writeChars(String s)`
`void` `writeDouble(double v)`
`void` `writeFloat(float v)`
`void` `writeInt(int v)`
`void` `writeLong(long v)`
`void` `writeShort(int v)`
`void` `writeUTF(String s)`
`int` `writtenBytes()` Returns the number of written bytes by this stream so far.

### Methods inherited from class java.io.OutputStream

`close, flush`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ChannelBufferOutputStream

    public ChannelBufferOutputStream(ChannelBuffer buffer)

Creates a new stream which writes data to the specified `buffer`.

### Method Detail

#### 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 IOException

Specified by:
  `write` in interface `DataOutput`
Overrides:
  `write` in class `OutputStream`
Throws:
  `IOException`

#### write

    public void write(byte[] b)
               throws IOException

Specified by:
  `write` in interface `DataOutput`
Overrides:
  `write` in class `OutputStream`
Throws:
  `IOException`

#### write

    public void write(int b)
               throws IOException

Specified by:
  `write` in interface `DataOutput`
Specified by:
  `write` in class `OutputStream`
Throws:
  `IOException`

#### writeBoolean

    public void writeBoolean(boolean v)
                      throws IOException

Specified by:
  `writeBoolean` in interface `DataOutput`
Throws:
  `IOException`

#### writeByte

    public void writeByte(int v)
                   throws IOException

Specified by:
  `writeByte` in interface `DataOutput`
Throws:
  `IOException`

#### writeBytes

    public void writeBytes(String s)
                    throws IOException

Specified by:
  `writeBytes` in interface `DataOutput`
Throws:
  `IOException`

#### writeChar

    public void writeChar(int v)
                   throws IOException

Specified by:
  `writeChar` in interface `DataOutput`
Throws:
  `IOException`

#### writeChars

    public void writeChars(String s)
                    throws IOException

Specified by:
  `writeChars` in interface `DataOutput`
Throws:
  `IOException`

#### writeDouble

    public void writeDouble(double v)
                     throws IOException

Specified by:
  `writeDouble` in interface `DataOutput`
Throws:
  `IOException`

#### writeFloat

    public void writeFloat(float v)
                    throws IOException

Specified by:
  `writeFloat` in interface `DataOutput`
Throws:
  `IOException`

#### writeInt

    public void writeInt(int v)
                  throws IOException

Specified by:
  `writeInt` in interface `DataOutput`
Throws:
  `IOException`

#### writeLong

    public void writeLong(long v)
                   throws IOException

Specified by:
  `writeLong` in interface `DataOutput`
Throws:
  `IOException`

#### writeShort

    public void writeShort(int v)
                    throws IOException

Specified by:
  `writeShort` in interface `DataOutput`
Throws:
  `IOException`

#### writeUTF

    public void writeUTF(String s)
                  throws IOException

Specified by:
  `writeUTF` in interface `DataOutput`
Throws:
  `IOException`

#### buffer

    public ChannelBuffer buffer()

Returns the buffer where this stream is writing data.