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, AutoCloseable, Accountable

Deprecated.
This class uses inefficient synchronization and is discouraged in favor of `MMapDirectory`. It will be removed in future versions of Lucene.

    @Deprecated
    public class RAMOutputStream
    extends IndexOutput
    implements Accountable

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

Constructors
Constructor and Description
`RAMOutputStream()` Deprecated. Construct an empty output buffer.
`RAMOutputStream(RAMFile f, boolean checksum)` Deprecated. Creates this, with no name.
`RAMOutputStream(String name, RAMFile f, boolean checksum)` Deprecated. Creates this, with specified name.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`void` `close()` Deprecated. Closes this stream to further operations.
`protected void` `flush()` Deprecated. Forces any buffered output to be written.
`long` `getChecksum()` Deprecated. Returns the current checksum of bytes written so far
`Collection<Accountable>` `getChildResources()` Deprecated. Returns nested resources of this class.
`long` `getFilePointer()` Deprecated. Returns the current position in this file, where the next write will occur.
`long` `ramBytesUsed()` Deprecated. Returns byte usage of all buffers.
`void` `reset()` Deprecated. Resets this to an empty file.
`void` `writeByte(byte b)` Deprecated. Writes a single byte.
`void` `writeBytes(byte[] b, int offset, int len)` Deprecated. Writes an array of bytes.
`void` `writeTo(byte[] bytes, int offset)` Deprecated. Copy the current contents of this buffer to output byte array
`void` `writeTo(DataOutput out)` Deprecated. Copy the current contents of this buffer to the provided `DataOutput`.

### Methods inherited from class org.apache.lucene.store.IndexOutput

`getName, toString`

### Methods inherited from class org.apache.lucene.store.DataOutput

`copyBytes, writeBytes, writeInt, writeLong, writeMapOfStrings, writeSetOfStrings, writeShort, writeString, writeVInt, writeVLong, writeZInt, writeZLong`

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

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

### Constructor Detail

#### RAMOutputStream

    public RAMOutputStream()

Deprecated.
Construct an empty output buffer.

#### RAMOutputStream

    public RAMOutputStream(RAMFile f,
                           boolean checksum)

Deprecated.
Creates this, with no name.

#### RAMOutputStream

    public RAMOutputStream(String name,
                           RAMFile f,
                           boolean checksum)

Deprecated.
Creates this, with specified name.

### Method Detail

#### writeTo

    public void writeTo(DataOutput out)
                 throws IOException

Deprecated.
Copy the current contents of this buffer to the provided `DataOutput`.

Throws:
  `IOException`

#### writeTo

    public void writeTo(byte[] bytes,
                        int offset)
                 throws IOException

Deprecated.
Copy the current contents of this buffer to output byte array

Throws:
  `IOException`

#### reset

    public void reset()

Deprecated.
Resets this to an empty file.

#### close

    public void close()
               throws IOException

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

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

#### writeByte

    public void writeByte(byte b)
                   throws IOException

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

The most primitive data type is an eight-bit byte. Files are accessed as sequences of bytes. All other data types are defined as sequences of bytes, so file formats are byte-order independent.

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

#### writeBytes

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

Deprecated.
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

    protected void flush()
                  throws IOException

Deprecated.
Forces any buffered output to be written.

Throws:
  `IOException`

#### getFilePointer

    public long getFilePointer()

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

Specified by:
  `getFilePointer` in class `IndexOutput`

#### ramBytesUsed

    public long ramBytesUsed()

Deprecated.
Returns byte usage of all buffers.

Specified by:
  `ramBytesUsed` in interface `Accountable`

#### getChildResources

    public Collection<Accountable> getChildResources()

Deprecated.
Description copied from interface: `Accountable`
Returns nested resources of this class. The result should be a point-in-time snapshot (to avoid race conditions).

Specified by:
  `getChildResources` in interface `Accountable`
See Also:
  `Accountables`

#### getChecksum

    public long getChecksum()
                     throws IOException

Deprecated.
Description copied from class: `IndexOutput`
Returns the current checksum of bytes written so far

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