org.apache.lucene.store

## Class FSDirectory.FSIndexInput

- java.lang.Object
- - org.apache.lucene.store.DataInput
  - - org.apache.lucene.store.IndexInput
    - - org.apache.lucene.store.BufferedIndexInput
      - - org.apache.lucene.store.FSDirectory.FSIndexInput

- All Implemented Interfaces:
    Closeable, AutoCloseable, Cloneable
  Direct Known Subclasses:
    NIOFSDirectory.NIOFSIndexInput, SimpleFSDirectory.SimpleFSIndexInput
  Enclosing class:
    FSDirectory

      protected abstract static class FSDirectory.FSIndexInput
      extends BufferedIndexInput

  Base class for reading input from a RandomAccessFile

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `chunkSize` maximum read length on a 32bit JVM to prevent incorrect OOM, see LUCENE-1566
    `protected long` | `end` end offset (start+length)
    `protected RandomAccessFile` | `file` the underlying RandomAccessFile
    `protected long` | `off` start offset: non-zero in the slice case

    - ### Fields inherited from class org.apache.lucene.store.BufferedIndexInput

      `buffer, BUFFER_SIZE, MERGE_BUFFER_SIZE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `FSDirectory.FSIndexInput(String resourceDesc, File path, IOContext context, int chunkSize)` Create a new FSIndexInput, reading the entire file from `path`
    `protected` | `FSDirectory.FSIndexInput(String resourceDesc, RandomAccessFile file, long off, long length, int bufferSize, int chunkSize)` Create a new FSIndexInput, representing a slice of an existing open `file`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `FSDirectory.FSIndexInput` | `clone()` Returns a clone of this stream.
    `void` | `close()` Closes the stream to further operations.
    `long` | `length()` The number of bytes in the file.

    - ### Methods inherited from class org.apache.lucene.store.BufferedIndexInput

      `bufferSize, flushBuffer, getBufferSize, getFilePointer, newBuffer, readByte, readBytes, readBytes, readInt, readInternal, readLong, readShort, readVInt, readVLong, seek, seekInternal, setBufferSize`

    - ### Methods inherited from class org.apache.lucene.store.IndexInput

      `toString`

    - ### Methods inherited from class org.apache.lucene.store.DataInput

      `readString, readStringSet, readStringStringMap`

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

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

- - ### Field Detail

    - #### file

          protected final RandomAccessFile file

      the underlying RandomAccessFile

    - #### chunkSize

          protected final int chunkSize

      maximum read length on a 32bit JVM to prevent incorrect OOM, see LUCENE-1566

    - #### off

          protected final long off

      start offset: non-zero in the slice case

    - #### end

          protected final long end

      end offset (start+length)

  - ### Constructor Detail

    - #### FSDirectory.FSIndexInput

          protected FSDirectory.FSIndexInput(String resourceDesc,
                                  File path,
                                  IOContext context,
                                  int chunkSize)
                                      throws IOException

      Create a new FSIndexInput, reading the entire file from `path`
      Throws:
        `IOException`

    - #### FSDirectory.FSIndexInput

          protected FSDirectory.FSIndexInput(String resourceDesc,
                                  RandomAccessFile file,
                                  long off,
                                  long length,
                                  int bufferSize,
                                  int chunkSize)

      Create a new FSIndexInput, representing a slice of an existing open `file`

  - ### Method Detail

    - #### close

          public void close()
                     throws IOException

      Description copied from class: `IndexInput`
      Closes the stream to further operations.
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in class `IndexInput`
      Throws:
        `IOException`

    - #### clone

          public FSDirectory.FSIndexInput clone()

      Description copied from class: `IndexInput`
      Returns a clone of this stream.

      Clones of a stream access the same data, and are positioned at the same point as the stream they were cloned from.

      Expert: Subclasses must ensure that clones may be positioned at different points in the input from each other and from the stream they were cloned from.

      Warning: Lucene never closes cloned `IndexInput`s, it will only do this on the original one. The original instance must take care that cloned instances throw `AlreadyClosedException` when the original one is closed.

      Overrides:
        `clone` in class `BufferedIndexInput`

    - #### length

          public final long length()

      Description copied from class: `IndexInput`
      The number of bytes in the file.
      Specified by:
        `length` in class `IndexInput`

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.