public class

NIOFSDirectory

extends FSDirectory
java.lang.Object
   ↳ org.apache.lucene.store.Directory
     ↳ org.apache.lucene.store.FSDirectory
       ↳ org.apache.lucene.store.NIOFSDirectory

Class Overview

An FSDirectory implementation that uses java.nio's FileChannel's positional read, which allows multiple threads to read from the same file without synchronizing.

This class only uses FileChannel when reading; writing is achieved with SimpleFSDirectory.SimpleFSIndexOutput.

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 ClosedChannelException. If your application uses either interrupt() or cancel(boolean) you should use SimpleFSDirectory in favor of NIOFSDirectory.

Summary

Nested Classes
class NIOFSDirectory.NIOFSIndexInput  
[Expand]
Inherited Fields
From class org.apache.lucene.store.FSDirectory
From class org.apache.lucene.store.Directory
Public Constructors
NIOFSDirectory(File path, LockFactory lockFactory)
Create a new NIOFSDirectory for the named location.
NIOFSDirectory(File path)
Create a new NIOFSDirectory for the named location and NativeFSLockFactory.
Public Methods
IndexOutput createOutput(String name)
Creates an IndexOutput for the file with the given name.
IndexInput openInput(String name, int bufferSize)
Creates an IndexInput for the file with the given name.
[Expand]
Inherited Methods
From class org.apache.lucene.store.FSDirectory
From class org.apache.lucene.store.Directory
From class java.lang.Object
From interface java.io.Closeable

Public Constructors

public NIOFSDirectory (File path, LockFactory lockFactory)

Create a new NIOFSDirectory for the named location.

Parameters
path the path of the directory
lockFactory the lock factory to use, or null for the default (NativeFSLockFactory);
Throws
IOException

public NIOFSDirectory (File path)

Create a new NIOFSDirectory for the named location and NativeFSLockFactory.

Parameters
path the path of the directory
Throws
IOException

Public Methods

public IndexOutput createOutput (String name)

Creates an IndexOutput for the file with the given name.

Throws
IOException

public IndexInput openInput (String name, int bufferSize)

Creates an IndexInput for the file with the given name.

Throws
IOException