Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.lowagie.text.rtf.document.output
Class RtfByteArrayBuffer

    java.lang.Object
      java.io.OutputStream
          com.lowagie.text.rtf.document.output.RtfByteArrayBuffer

All Implemented Interfaces:
  Closeable, Flushable

    public final class RtfByteArrayBuffer

extends OutputStream

A RtfByteArrayBuffer works much like `ByteArrayOutputStream` but is cheaper and faster in most cases (exception: large writes when reusing buffers).

Version:
  $Id: RtfByteArrayBuffer.java 2785 2007-05-24 15:45:47Z hallm $
Author:
  Thomas Bickel (tmb99@inode.at)

Field Summary
`private List` | `arrays`
`private byte[]` | `buffer`
`private int` | `pos`
`private int` | `size`

Constructor Summary
`RtfByteArrayBuffer()` Constructs a new buffer with a default initial size of 128 bytes.
`RtfByteArrayBuffer(int bufferSize)` Creates a new buffer with the given initial size.

Method Summary
`void` | `append(byte[] a)` Appends the given array to this buffer without copying (if possible).
`void` | `append(byte[][] a)` Appends all arrays to this buffer without copying (if possible).
`private void` | `flushBuffer()`
`private void` | `flushBuffer(int reqSize)`
`void` | `reset()` Resets this buffer.
`long` | `size()` Returns the number of bytes that have been written to this buffer so far.
`byte[]` | `toByteArray()` Allocates a new array and copies all data that has been written to this buffer to the newly allocated array.
`byte[][]` | `toByteArrayArray()` Returns the internal list of byte array buffers without copying the buffer contents.
`String` | `toString()`
`void` | `write(byte[] src)` Copies the given array to the internal buffer.
`void` | `write(byte[] src, int off, int len)` Copies len bytes starting at position off from the array src to the internal buffer.
`long` | `write(InputStream in)` Writes all bytes available in the given inputstream to this buffer.
`void` | `write(int b)` Copies the given byte to the internal buffer.
`private void` | `writeLoop(byte[] src, int off, int len)`
`void` | `writeTo(OutputStream out)` Writes all data that has been written to this buffer to the given output stream.

Methods inherited from class java.io.OutputStream
`close, flush`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### arrays

    private final List arrays

### buffer

    private byte[] buffer

### pos

    private int pos

### size

    private int size

Constructor Detail

### RtfByteArrayBuffer

    public RtfByteArrayBuffer()

  Constructs a new buffer with a default initial size of 128 bytes.

### RtfByteArrayBuffer

    public RtfByteArrayBuffer(int bufferSize)

  Creates a new buffer with the given initial size.

  Parameters:
    `bufferSize` - desired initial size in bytes

Method Detail

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### reset

    public void reset()

  Resets this buffer.

### size

    public long size()

  Returns the number of bytes that have been written to this buffer so far.

  Returns:
    number of bytes written to this buffer

### flushBuffer

    private void flushBuffer()

### flushBuffer

    private void flushBuffer(int reqSize)

### write

    public void write(int b)

  Copies the given byte to the internal buffer.

  Specified by:
    `write` in class `OutputStream`
  Parameters:
    `b` -

### write

    public void write(byte[] src)

  Copies the given array to the internal buffer.

  Overrides:
    `write` in class `OutputStream`
  Parameters:
    `src` -

### write

    public void write(byte[] src,
                      int off,
                      int len)

  Copies len bytes starting at position off from the array src to the internal buffer.

  Overrides:
    `write` in class `OutputStream`
  Parameters:
    `src` -
    `off` -
    `len` -

### writeLoop

    private void writeLoop(byte[] src,
                           int off,
                           int len)

### write

    public long write(InputStream in)
               throws IOException

  Writes all bytes available in the given inputstream to this buffer.

  Parameters:
    `in` -
  Returns:
    number of bytes written
  Throws:
    `IOException`

### append

    public void append(byte[] a)

  Appends the given array to this buffer without copying (if possible).

  Parameters:
    `a` -

### append

    public void append(byte[][] a)

  Appends all arrays to this buffer without copying (if possible).

  Parameters:
    `a` -

### toByteArrayArray

    public byte[][] toByteArrayArray()

  Returns the internal list of byte array buffers without copying the buffer contents.

  Returns:
    number of bytes written

### toByteArray

    public byte[] toByteArray()

  Allocates a new array and copies all data that has been written to this buffer to the newly allocated array.

  Returns:
    a new byte array

### writeTo

    public void writeTo(OutputStream out)
                 throws IOException

  Writes all data that has been written to this buffer to the given output stream.

  Parameters:
    `out` -
  Throws:
    `IOException`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD