Class SimpleFSDirectory

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class SimpleFSDirectory
    extends FSDirectory
    A straightforward implementation of FSDirectory using java.io.RandomAccessFile. However, this class has poor concurrent performance (multiple threads will bottleneck) as it synchronizes when multiple threads read from the same file. It's usually better to use NIOFSDirectory or MMapDirectory instead.
    • Constructor Detail

      • SimpleFSDirectory

        public SimpleFSDirectory​(java.io.File path,
                                 LockFactory lockFactory)
                          throws java.io.IOException
        Create a new SimpleFSDirectory for the named location.
        Parameters:
        path - the path of the directory
        lockFactory - the lock factory to use, or null for the default (NativeFSLockFactory);
        Throws:
        java.io.IOException - if there is a low-level I/O error
      • SimpleFSDirectory

        public SimpleFSDirectory​(java.io.File path)
                          throws java.io.IOException
        Create a new SimpleFSDirectory for the named location and NativeFSLockFactory.
        Parameters:
        path - the path of the directory
        Throws:
        java.io.IOException - if there is a low-level I/O error
    • Method Detail

      • openInput

        public IndexInput openInput​(java.lang.String name,
                                    IOContext context)
                             throws java.io.IOException
        Creates an IndexInput for the file with the given name.
        Specified by:
        openInput in class Directory
        Throws:
        java.io.IOException
      • createSlicer

        public Directory.IndexInputSlicer createSlicer​(java.lang.String name,
                                                       IOContext context)
                                                throws java.io.IOException
        Description copied from class: Directory
        Creates an Directory.IndexInputSlicer for the given file name. IndexInputSlicer allows other Directory implementations to efficiently open one or more sliced IndexInput instances from a single file handle. The underlying file handle is kept open until the Directory.IndexInputSlicer is closed.
      • Must throw FileNotFoundException if the file does not exist (not java.nio.file.NoSuchFileException of Java 7).
Overrides:
createSlicer in class Directory
Throws:
java.io.IOException - if an IOException occurs