Binary i/o API, used for all index data.


BufferedIndexInput Base implementation class for buffered IndexInput
BufferedIndexOutput Base implementation class for buffered IndexOutput
ChecksumIndexInput Writes bytes through to a primary IndexOutput, computing checksum as it goes. 
ChecksumIndexOutput Writes bytes through to a primary IndexOutput, computing checksum. 
Directory A Directory is a flat list of files. 
FileSwitchDirectory Expert: A Directory instance that switches files between two other Directory instances. 
FSDirectory Base class for Directory implementations that store index files in the file system. 
FSLockFactory Base class for file system based locking implementation. 
IndexInput Abstract base class for input from a file in a Directory
IndexOutput Abstract base class for output to a file in a Directory. 
Lock An interprocess mutex lock. 
Lock.With Utility class for executing code with exclusive access. 

Base class for Locking implementation. 

LockStressTest Simple standalone tool that forever acquires & releases a lock using a specific LockFactory. 
LockVerifyServer Simple standalone server that must be running when you use VerifyingLockFactory
MMapDirectory File-based Directory implementation that uses mmap for reading, and SimpleFSDirectory.SimpleFSIndexOutput for writing. 

Implements LockFactory using native OS file locks. 

NIOFSDirectory An FSDirectory implementation that uses java.nio's FileChannel's positional read, which allows multiple threads to read from the same file without synchronizing. 
NoLockFactory Use this LockFactory to disable locking entirely. 
RAMDirectory A memory-resident Directory implementation. 
RAMFile For Lucene internal use  
RAMOutputStream A memory-resident IndexOutput implementation. 
SimpleFSDirectory A straightforward implementation of FSDirectory using 

Implements LockFactory using createNewFile()

SingleInstanceLockFactory Implements LockFactory for a single in-process instance, meaning all locking will take place through this one instance. 
VerifyingLockFactory A LockFactory that wraps another LockFactory and verifies that each lock obtain/release is "correct" (never results in two processes holding the lock at the same time). 


AlreadyClosedException This exception is thrown when there is an attempt to access something that has already been closed. 
LockObtainFailedException This exception is thrown when the write.lock could not be acquired. 
LockReleaseFailedException This exception is thrown when the write.lock could not be released. 
NoSuchDirectoryException This exception is thrown when you try to list a non-existent directory.