Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Berkeley DB Java Edition version 3.3.75
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sleepycat.util
Class FastOutputStream

    java.lang.Object
      java.io.OutputStream
          com.sleepycat.util.FastOutputStream

All Implemented Interfaces:
  Closeable, Flushable

Direct Known Subclasses:
  TupleOutput

    public class FastOutputStream

extends OutputStream

A replacement for ByteArrayOutputStream that does not synchronize every byte read.

This class extends `OutputStream` and its `write()` methods allow it to be used as a standard output stream. In addition, it provides `writeFast()` methods that are not declared to throw `IOException`. `IOException` is never thrown by this class.

Author:
  Mark Hayes

Field Summary
`static int` | `DEFAULT_BUMP_SIZE` The default amount that the buffer is increased when it is full.
`static int` | `DEFAULT_INIT_SIZE` The default initial size of the buffer if no initialSize parameter is specified.

Constructor Summary
`FastOutputStream()` Creates an output stream with default sizes.
`FastOutputStream(byte[] buffer)` Creates an output stream with a given initial buffer and a default bump size.
`FastOutputStream(byte[] buffer, int bumpSize)` Creates an output stream with a given initial buffer and a given bump size.
`FastOutputStream(int initialSize)` Creates an output stream with a default bump size and a given initial size.
`FastOutputStream(int initialSize, int bumpSize)` Creates an output stream with a given bump size and initial size.

Method Summary
`void` | `addSize(int sizeAdded)` Skip the given number of bytes in the buffer.
`byte[]` | `getBufferBytes()` Returns the buffer owned by this object.
`int` | `getBufferLength()` Returns the length used in the internal buffer, i.e., the offset at which data will be written next.
`int` | `getBufferOffset()` Returns the offset of the internal buffer.
`void` | `makeSpace(int sizeNeeded)` Ensure that at least the given number of bytes are available in the internal buffer.
`void` | `reset()`
`int` | `size()`
`byte[]` | `toByteArray()`
`String` | `toString()`
`String` | `toString(String encoding)`
`void` | `write(byte[] fromBuf)`
`void` | `write(byte[] fromBuf, int offset, int length)`
`void` | `write(int b)`
`void` | `writeFast(byte[] fromBuf)` Equivalent to `write(byte[])`but does not throw `IOException`.``
`void` | `writeFast(byte[] fromBuf, int offset, int length)` Equivalent to `write(byte[],int,int)`but does not throw `IOException`.``
`void` | `writeFast(int b)` Equivalent to `write(int)`but does not throw `IOException`.``
`void` | `writeTo(OutputStream out)`

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

### DEFAULT_INIT_SIZE

    public static final int DEFAULT_INIT_SIZE

  The default initial size of the buffer if no initialSize parameter is specified. This constant is 100 bytes.

  See Also:
    Constant Field Values

### DEFAULT_BUMP_SIZE

    public static final int DEFAULT_BUMP_SIZE

  The default amount that the buffer is increased when it is full. This constant is zero, which means to double the current buffer size.

  See Also:
    Constant Field Values

Constructor Detail

### FastOutputStream

    public FastOutputStream()

  Creates an output stream with default sizes.

### FastOutputStream

    public FastOutputStream(int initialSize)

  Creates an output stream with a default bump size and a given initial size.

  Parameters:
    `initialSize` - the initial size of the buffer.

### FastOutputStream

    public FastOutputStream(int initialSize,
                            int bumpSize)

  Creates an output stream with a given bump size and initial size.

  Parameters:
    `initialSize` - the initial size of the buffer.
    `bumpSize` - the amount to increment the buffer.

### FastOutputStream

    public FastOutputStream(byte[] buffer)

  Creates an output stream with a given initial buffer and a default bump size.

  Parameters:
    `buffer` - the initial buffer; will be owned by this object.

### FastOutputStream

    public FastOutputStream(byte[] buffer,
                            int bumpSize)

  Creates an output stream with a given initial buffer and a given bump size.

  Parameters:
    `buffer` - the initial buffer; will be owned by this object.
    `bumpSize` - the amount to increment the buffer. If zero (the default), the current buffer size will be doubled when the buffer is full.

Method Detail

### size

    public int size()

### reset

    public void reset()

### write

    public void write(int b)
               throws IOException

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

### write

    public void write(byte[] fromBuf)
               throws IOException

  Overrides:
    `write` in class `OutputStream`
  Throws:
    `IOException`

### write

    public void write(byte[] fromBuf,
                      int offset,
                      int length)
               throws IOException

  Overrides:
    `write` in class `OutputStream`
  Throws:
    `IOException`

### writeTo

    public void writeTo(OutputStream out)
                 throws IOException

  Throws:
    `IOException`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### toString

    public String toString(String encoding)
                    throws UnsupportedEncodingException

  Throws:
    `UnsupportedEncodingException`

### toByteArray

    public byte[] toByteArray()

### writeFast

    public final void writeFast(int b)

  Equivalent to `write(int)`but does not throw `IOException`.

  ``
  See Also:
    `write(int)`

### writeFast

    public final void writeFast(byte[] fromBuf)

  Equivalent to `write(byte[])`but does not throw `IOException`.

  ``
  See Also:
    `write(byte[])`

### writeFast

    public final void writeFast(byte[] fromBuf,
                                int offset,
                                int length)

  Equivalent to `write(byte[],int,int)`but does not throw `IOException`.

  ``
  See Also:
    `write(byte[],int,int)`

### getBufferBytes

    public byte[] getBufferBytes()

  Returns the buffer owned by this object.

  Returns:
    the buffer.

### getBufferOffset

    public int getBufferOffset()

  Returns the offset of the internal buffer.

  Returns:
    always zero currently.

### getBufferLength

    public int getBufferLength()

  Returns the length used in the internal buffer, i.e., the offset at which data will be written next.

  Returns:
    the buffer length.

### makeSpace

    public void makeSpace(int sizeNeeded)

  Ensure that at least the given number of bytes are available in the internal buffer.

  Parameters:
    `sizeNeeded` - the number of bytes desired.

### addSize

    public void addSize(int sizeAdded)

  Skip the given number of bytes in the buffer.

  Parameters:
    `sizeAdded` - number of bytes to skip.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Berkeley DB Java Edition version 3.3.75
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004,2008 Oracle. All rights reserved.