## org.apache.lucene.store
Class RAMOutputStream

    java.lang.Object
      org.apache.lucene.store.DataOutput
          org.apache.lucene.store.IndexOutput
              org.apache.lucene.store.RAMOutputStream

All Implemented Interfaces:
  Closeable

    public class RAMOutputStream

extends IndexOutput

A memory-resident `IndexOutput` implementation.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

Constructor Summary
`RAMOutputStream()` Construct an empty output buffer.
`RAMOutputStream(RAMFile f)`

Method Summary
`void` `close()` Closes this stream to further operations.
`void` `copyBytes(DataInput input, long numBytes)` Copy numBytes bytes from input to ourself.
`void` `flush()` Forces any buffered output to be written.
`long` `getFilePointer()` Returns the current position in this file, where the next write will occur.
`long` `length()` The number of bytes in the file.
`void` `reset()` Resets this to an empty file.
`void` `seek(long pos)` Sets current position in this file, where the next write will occur.
`long` `sizeInBytes()` Returns byte usage of all buffers.
`void` `writeByte(byte b)` Writes a single byte.
`void` `writeBytes(byte[] b, int offset, int len)` Writes an array of bytes.
`void` `writeTo(IndexOutput out)` Copy the current contents of this buffer to the named output.

Methods inherited from class org.apache.lucene.store.IndexOutput
`setLength`

Methods inherited from class org.apache.lucene.store.DataOutput
`writeBytes, writeChars, writeChars, writeInt, writeLong, writeShort, writeString, writeStringStringMap, writeVInt, writeVLong`

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

Constructor Detail

### RAMOutputStream

    public RAMOutputStream()

  Construct an empty output buffer.

### RAMOutputStream

    public RAMOutputStream(RAMFile f)

Method Detail

### writeTo

    public void writeTo(IndexOutput out)
                 throws IOException

  Copy the current contents of this buffer to the named output.

  Throws:
    `IOException`

### reset

    public void reset()

  Resets this to an empty file.

### close

    public void close()
               throws IOException

  Description copied from class: `IndexOutput`
  Closes this stream to further operations.

  Specified by:
    `close` in interface `Closeable`
  Specified by:
    `close` in class `IndexOutput`
  Throws:
    `IOException`

### seek

    public void seek(long pos)
              throws IOException

  Description copied from class: `IndexOutput`
  Sets current position in this file, where the next write will occur.

  Specified by:
    `seek` in class `IndexOutput`
  Throws:
    `IOException`
  See Also:
    `IndexOutput.getFilePointer()`

### length

    public long length()

  Description copied from class: `IndexOutput`
  The number of bytes in the file.

  Specified by:
    `length` in class `IndexOutput`

### writeByte

    public void writeByte(byte b)
                   throws IOException

  Description copied from class: `DataOutput`
  Writes a single byte.

  Specified by:
    `writeByte` in class `DataOutput`
  Throws:
    `IOException`
  See Also:
    `DataInput.readByte()`

### writeBytes

    public void writeBytes(byte[] b,
                           int offset,
                           int len)
                    throws IOException

  Description copied from class: `DataOutput`
  Writes an array of bytes.

  Specified by:
    `writeBytes` in class `DataOutput`
  Parameters:
    `b` - the bytes to write
    `offset` - the offset in the byte array
    `len` - the number of bytes to write
  Throws:
    `IOException`
  See Also:
    `DataInput.readBytes(byte[],int,int)`

### flush

    public void flush()
               throws IOException

  Description copied from class: `IndexOutput`
  Forces any buffered output to be written.

  Specified by:
    `flush` in class `IndexOutput`
  Throws:
    `IOException`

### getFilePointer

    public long getFilePointer()

  Description copied from class: `IndexOutput`
  Returns the current position in this file, where the next write will occur.

  Specified by:
    `getFilePointer` in class `IndexOutput`
  See Also:
    `IndexOutput.seek(long)`

### sizeInBytes

    public long sizeInBytes()

  Returns byte usage of all buffers.

### copyBytes

    public void copyBytes(DataInput input,
                          long numBytes)
                   throws IOException

  Description copied from class: `DataOutput`
  Copy numBytes bytes from input to ourself.

  Overrides:
    `copyBytes` in class `DataOutput`
  Throws:
    `IOException`