Class 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 Details

    • file

      protected final RandomAccessFile file
      the underlying RandomAccessFile
    • off

      protected final long off
      start offset: non-zero in the slice case
    • end

      protected final long end
      end offset (start+length)
  • Constructor Details

    • FSIndexInput

      protected FSIndexInput(String resourceDesc, File path, IOContext context) throws IOException
      Create a new FSIndexInput, reading the entire file from path
      Throws:
      IOException
    • FSIndexInput

      protected FSIndexInput(String resourceDesc, RandomAccessFile file, long off, long length, int bufferSize)
      Create a new FSIndexInput, representing a slice of an existing open file
  • Method Details

    • close

      public void close() throws IOException
      Description copied from class: IndexInput
      Closes the stream to further operations.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      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 IndexInputs, 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