• API

    Show / Hide Table of Contents

    Class NIOFSDirectory

    An FSDirectory implementation that uses System.IO.FileStream's positional read, which allows multiple threads to read from the same file without synchronizing.

    This class only uses System.IO.FileStream when reading; writing is achieved with FSDirectory.FSIndexOutput.

    NOTE: NIOFSDirectory is not recommended on Windows because of a bug in how FileChannel.read is implemented in Sun's JRE. Inside of the implementation the position is apparently synchronized. See here for details.

    NOTE: Accessing this class either directly or indirectly from a thread while it's interrupted can close the underlying file descriptor immediately if at the same time the thread is blocked on IO. The file descriptor will remain closed and subsequent access to NIOFSDirectory will throw a System.ObjectDisposedException. If your application uses either System.Threading.Thread.Interrupt or System.Threading.Tasks.Task you should use SimpleFSDirectory in favor of NIOFSDirectory.

    Inheritance
    System.Object
    Directory
    BaseDirectory
    FSDirectory
    NIOFSDirectory
    Implements
    System.IDisposable
    Inherited Members
    FSDirectory.DEFAULT_READ_CHUNK_SIZE
    FSDirectory.m_directory
    FSDirectory.Open(DirectoryInfo)
    FSDirectory.Open(String)
    FSDirectory.Open(DirectoryInfo, LockFactory)
    FSDirectory.Open(String, LockFactory)
    FSDirectory.SetLockFactory(LockFactory)
    FSDirectory.ListAll(DirectoryInfo)
    FSDirectory.ListAll()
    FSDirectory.FileExists(String)
    FSDirectory.FileLength(String)
    FSDirectory.DeleteFile(String)
    FSDirectory.CreateOutput(String, IOContext)
    FSDirectory.EnsureCanWrite(String)
    FSDirectory.OnIndexOutputClosed(FSDirectory.FSIndexOutput)
    FSDirectory.Sync(ICollection<String>)
    FSDirectory.GetLockID()
    FSDirectory.Dispose(Boolean)
    FSDirectory.Directory
    FSDirectory.ToString()
    FSDirectory.ReadChunkSize
    BaseDirectory.IsOpen
    BaseDirectory.m_lockFactory
    BaseDirectory.MakeLock(String)
    BaseDirectory.ClearLock(String)
    BaseDirectory.LockFactory
    BaseDirectory.EnsureOpen()
    Directory.OpenChecksumInput(String, IOContext)
    Directory.Dispose()
    Directory.Copy(Directory, String, String, IOContext)
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    Namespace: Lucene.Net.Store
    Assembly: Lucene.Net.dll
    Syntax
    public class NIOFSDirectory : FSDirectory, IDisposable

    Constructors

    | Improve this Doc View Source

    NIOFSDirectory(DirectoryInfo)

    Create a new NIOFSDirectory for the named location and NativeFSLockFactory.

    Declaration
    public NIOFSDirectory(DirectoryInfo path)
    Parameters
    Type Name Description
    System.IO.DirectoryInfo path

    the path of the directory

    Exceptions
    Type Condition
    System.IO.IOException

    if there is a low-level I/O error

    | Improve this Doc View Source

    NIOFSDirectory(DirectoryInfo, LockFactory)

    Create a new NIOFSDirectory for the named location.

    Declaration
    public NIOFSDirectory(DirectoryInfo path, LockFactory lockFactory)
    Parameters
    Type Name Description
    System.IO.DirectoryInfo path

    the path of the directory

    LockFactory lockFactory

    the lock factory to use, or null for the default (NativeFSLockFactory);

    Exceptions
    Type Condition
    System.IO.IOException

    if there is a low-level I/O error

    | Improve this Doc View Source

    NIOFSDirectory(String)

    Create a new NIOFSDirectory for the named location and NativeFSLockFactory.

    LUCENENET specific overload for convenience using string instead of System.IO.DirectoryInfo.

    Declaration
    public NIOFSDirectory(string path)
    Parameters
    Type Name Description
    System.String path

    the path of the directory

    Exceptions
    Type Condition
    System.IO.IOException

    if there is a low-level I/O error

    | Improve this Doc View Source

    NIOFSDirectory(String, LockFactory)

    Create a new NIOFSDirectory for the named location.

    LUCENENET specific overload for convenience using string instead of System.IO.DirectoryInfo.

    Declaration
    public NIOFSDirectory(string path, LockFactory lockFactory)
    Parameters
    Type Name Description
    System.String path

    the path of the directory

    LockFactory lockFactory

    the lock factory to use, or null for the default (NativeFSLockFactory);

    Exceptions
    Type Condition
    System.IO.IOException

    if there is a low-level I/O error

    Methods

    | Improve this Doc View Source

    CreateSlicer(String, IOContext)

    Declaration
    public override Directory.IndexInputSlicer CreateSlicer(string name, IOContext context)
    Parameters
    Type Name Description
    System.String name
    IOContext context
    Returns
    Type Description
    Directory.IndexInputSlicer
    Overrides
    Directory.CreateSlicer(String, IOContext)
    | Improve this Doc View Source

    OpenInput(String, IOContext)

    Creates an IndexInput for the file with the given name.

    Declaration
    public override IndexInput OpenInput(string name, IOContext context)
    Parameters
    Type Name Description
    System.String name
    IOContext context
    Returns
    Type Description
    IndexInput
    Overrides
    Directory.OpenInput(String, IOContext)

    Implements

    System.IDisposable
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 Licensed to the Apache Software Foundation (ASF)