## org.apache.lucene.store
Class IndexInput

    java.lang.Object
      org.apache.lucene.store.DataInput
          org.apache.lucene.store.IndexInput

All Implemented Interfaces:
  Closeable, Cloneable

Direct Known Subclasses:
  BufferedIndexInput, ChecksumIndexInput, MockIndexInputWrapper, RAMInputStream

    public abstract class IndexInput

extends DataInput
implements Cloneable, Closeable

Abstract base class for input from a file in a `Directory`. A random-access input stream. Used for all Lucene index input operations.

See Also:
  `Directory`

Constructor Summary
`protected` `IndexInput()` Deprecated. please pass resourceDescription
`protected` `IndexInput(String resourceDescription)` resourceDescription should be a non-null, opaque string describing this resource; it's returned from `toString()`.

Method Summary
`abstract void` `close()` Closes the stream to further operations.
`void` `copyBytes(IndexOutput out, long numBytes)` Copies `numBytes` bytes to the given `IndexOutput`.
`abstract long` `getFilePointer()` Returns the current position in this file, where the next read will occur.
`abstract long` `length()` The number of bytes in the file.
`abstract void` `seek(long pos)` Sets current position in this file, where the next read will occur.
`void` `skipChars(int length)` Deprecated. this method operates on old "modified utf8" encoded strings
`String` `toString()`

Methods inherited from class org.apache.lucene.store.DataInput
`clone, readByte, readBytes, readBytes, readChars, readInt, readLong, readShort, readString, readStringStringMap, readVInt, readVLong, setModifiedUTF8StringsMode`

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

Constructor Detail

### IndexInput

    @Deprecated
    protected IndexInput()

  Deprecated. please pass resourceDescription

### IndexInput

    protected IndexInput(String resourceDescription)

  resourceDescription should be a non-null, opaque string describing this resource; it's returned from `toString()`.

Method Detail

### skipChars

    @Deprecated
    public void skipChars(int length)
                   throws IOException

  Deprecated. this method operates on old "modified utf8" encoded strings

  Expert Similar to `DataInput.readChars(char[], int, int)` but does not do any conversion operations on the bytes it is reading in. It still has to invoke `DataInput.readByte()` just as `DataInput.readChars(char[], int, int)` does, but it does not need a buffer to store anything and it does not have to do any of the bitwise operations, since we don't actually care what is in the byte except to determine how many more bytes to read

  Parameters:
    `length` - The number of chars to read
  Throws:
    `IOException`

### close

    public abstract void close()
                        throws IOException

  Closes the stream to further operations.

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

### getFilePointer

    public abstract long getFilePointer()

  Returns the current position in this file, where the next read will occur.

  See Also:
    `seek(long)`

### seek

    public abstract void seek(long pos)
                       throws IOException

  Sets current position in this file, where the next read will occur.

  Throws:
    `IOException`
  See Also:
    `getFilePointer()`

### length

    public abstract long length()

  The number of bytes in the file.

### copyBytes

    public void copyBytes(IndexOutput out,
                          long numBytes)
                   throws IOException

  Copies `numBytes` bytes to the given `IndexOutput`.

  NOTE: this method uses an intermediate buffer to copy the bytes. Consider overriding it in your implementation, if you can make a better, optimized copy.

  NOTE ensure that there are enough bytes in the input to copy to output. Otherwise, different exceptions may be thrown, depending on the implementation.

  Throws:
    `IOException`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`