## org.apache.lucene.store
Class ChecksumIndexOutput

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

All Implemented Interfaces:
  Closeable

    public class ChecksumIndexOutput

extends IndexOutput

Writes bytes through to a primary IndexOutput, computing checksum. Note that you cannot use seek().

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

Constructor Summary
`ChecksumIndexOutput(IndexOutput main)`

Method Summary
`void` `close()` Closes this stream to further operations.
`void` `finishCommit()` See `prepareCommit()`
`void` `flush()` Forces any buffered output to be written.
`long` `getChecksum()`
`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` `prepareCommit()` Starts but does not complete the commit of this file (= writing of the final checksum at the end).
`void` `seek(long pos)` Sets current position in this file, where the next write will occur.
`void` `writeByte(byte b)` Writes a single byte.
`void` `writeBytes(byte[] b, int offset, int length)` Writes an array of bytes.

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

Methods inherited from class org.apache.lucene.store.DataOutput
`copyBytes, 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

### ChecksumIndexOutput

    public ChecksumIndexOutput(IndexOutput main)

Method Detail

### 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 length)
                    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
    `length` - the number of bytes to write
  Throws:
    `IOException`
  See Also:
    `DataInput.readBytes(byte[],int,int)`

### getChecksum

    public long getChecksum()

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

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

### 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)`

### seek

    public void seek(long pos)

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

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

### prepareCommit

    public void prepareCommit()
                       throws IOException

  Starts but does not complete the commit of this file (= writing of the final checksum at the end). After this is called must call `finishCommit()` and the `close()` to complete the commit.

  Throws:
    `IOException`

### finishCommit

    public void finishCommit()
                      throws IOException

  See `prepareCommit()`

  Throws:
    `IOException`

### length

    public long length()
                throws IOException

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

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