org.apache.lucene.store
Class NIOFSDirectory
java.lang.Object
org.apache.lucene.store.Directory
org.apache.lucene.store.FSDirectory
org.apache.lucene.store.NIOFSDirectory
public class NIOFSDirectory
- extends FSDirectory
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 Thread.interrupt()
or
Future#cancel(boolean)
(on Java 1.5) you should use
SimpleFSDirectory
in favor of NIOFSDirectory
.
Method Summary |
IndexOutput |
createOutput(java.lang.String name)
Creates an IndexOutput for the file with the given name. |
IndexInput |
openInput(java.lang.String name,
int bufferSize)
Creates an IndexInput for the file with the given name. |
Methods inherited from class org.apache.lucene.store.FSDirectory |
close, deleteFile, fileExists, fileLength, fileModified, fileModified, getDirectory, getDirectory, getDirectory, getDirectory, getDirectory, getDirectory, getDisableLocks, getFile, getLockID, getReadChunkSize, initOutput, list, listAll, listAll, open, open, openInput, renameFile, setDisableLocks, setReadChunkSize, sync, toString, touchFile |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
NIOFSDirectory
public NIOFSDirectory(java.io.File path,
LockFactory lockFactory)
throws java.io.IOException
- Create a new NIOFSDirectory for the named location.
- Parameters:
path
- the path of the directorylockFactory
- the lock factory to use, or null for the default
(NativeFSLockFactory
);
- Throws:
java.io.IOException
NIOFSDirectory
public NIOFSDirectory(java.io.File path)
throws java.io.IOException
- Create a new NIOFSDirectory for the named location and
NativeFSLockFactory
.
- Parameters:
path
- the path of the directory
- Throws:
java.io.IOException
openInput
public IndexInput openInput(java.lang.String name,
int bufferSize)
throws java.io.IOException
- Creates an IndexInput for the file with the given name.
- Overrides:
openInput
in class FSDirectory
- Throws:
java.io.IOException
createOutput
public IndexOutput createOutput(java.lang.String name)
throws java.io.IOException
- Creates an IndexOutput for the file with the given name.
- Overrides:
createOutput
in class FSDirectory
- Throws:
java.io.IOException
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.