public class FSDirectory extends Directory
Directory as a directory of files.
Locking implementation is by default the SimpleFSLockFactory, but
can be changed either by passing in a LockFactory instance to
getDirectory, or specifying the LockFactory class by setting
org.apache.lucene.store.FSDirectoryLockFactoryClass Java system
property, or by calling Directory.setLockFactory(org.apache.lucene.store.LockFactory) after creating
the Directory.
Directories are cached, so that, for a given canonical
path, the same FSDirectory instance will always be
returned by getDirectory. This permits
synchronization on directories.
Directory| Modifier and Type | Class and Description |
|---|---|
protected static class |
FSDirectory.FSIndexInput |
protected static class |
FSDirectory.FSIndexOutput |
| Modifier and Type | Field and Description |
|---|---|
static String |
LOCK_DIR
Deprecated.
As of 2.1,
LOCK_DIR is unused
because the write.lock is now stored by default in the
index directory. If you really want to store locks
elsewhere you can create your own SimpleFSLockFactory (or NativeFSLockFactory,
etc.) passing in your preferred lock directory. Then,
pass this LockFactory instance to one of
the getDirectory methods that take a
lockFactory (for example, getDirectory(String, LockFactory)). |
lockFactory| Modifier | Constructor and Description |
|---|---|
protected |
FSDirectory() |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the store to future operations.
|
IndexOutput |
createOutput(String name)
Creates a new, empty file in the directory with the given name.
|
void |
deleteFile(String name)
Removes an existing file in the directory.
|
boolean |
fileExists(String name)
Returns true iff a file with the given name exists.
|
long |
fileLength(String name)
Returns the length in bytes of a file in the directory.
|
static long |
fileModified(File directory,
String name)
Returns the time the named file was last modified.
|
long |
fileModified(String name)
Returns the time the named file was last modified.
|
static FSDirectory |
getDirectory(File file)
Returns the directory instance for the named location.
|
static FSDirectory |
getDirectory(File file,
boolean create)
Deprecated.
Use IndexWriter's create flag, instead, to
create a new index.
|
static FSDirectory |
getDirectory(File file,
LockFactory lockFactory)
Returns the directory instance for the named location.
|
static FSDirectory |
getDirectory(String path)
Returns the directory instance for the named location.
|
static FSDirectory |
getDirectory(String path,
boolean create)
Deprecated.
Use IndexWriter's create flag, instead, to
create a new index.
|
static FSDirectory |
getDirectory(String path,
LockFactory lockFactory)
Returns the directory instance for the named location.
|
static boolean |
getDisableLocks()
Returns whether Lucene's use of lock files is disabled.
|
File |
getFile() |
String |
getLockID()
Return a string identifier that uniquely differentiates
this Directory instance from other Directory instances.
|
String[] |
list()
Returns an array of strings, one for each Lucene index file in the directory.
|
IndexInput |
openInput(String name)
Returns a stream reading an existing file.
|
IndexInput |
openInput(String name,
int bufferSize)
Returns a stream reading an existing file, with the
specified read buffer size.
|
void |
renameFile(String from,
String to)
Deprecated.
|
static void |
setDisableLocks(boolean doDisableLocks)
Set whether Lucene's use of lock files is disabled.
|
void |
sync(String name)
Ensure that any writes to this file are moved to
stable storage.
|
String |
toString()
For debug output.
|
void |
touchFile(String name)
Set the modified time of an existing file to now.
|
clearLock, copy, ensureOpen, getLockFactory, makeLock, setLockFactorypublic static final String LOCK_DIR
LOCK_DIR is unused
because the write.lock is now stored by default in the
index directory. If you really want to store locks
elsewhere you can create your own SimpleFSLockFactory (or NativeFSLockFactory,
etc.) passing in your preferred lock directory. Then,
pass this LockFactory instance to one of
the getDirectory methods that take a
lockFactory (for example, getDirectory(String, LockFactory)).org.apache.lucene.lockDir
or java.io.tmpdir system property.public static void setDisableLocks(boolean doDisableLocks)
public static boolean getDisableLocks()
public static FSDirectory getDirectory(String path) throws IOException
path - the path to the directory.IOExceptionpublic static FSDirectory getDirectory(String path, LockFactory lockFactory) throws IOException
path - the path to the directory.lockFactory - instance of LockFactory providing the
locking implementation.IOExceptionpublic static FSDirectory getDirectory(File file) throws IOException
file - the path to the directory.IOExceptionpublic static FSDirectory getDirectory(File file, LockFactory lockFactory) throws IOException
file - the path to the directory.lockFactory - instance of LockFactory providing the
locking implementation.IOExceptionpublic static FSDirectory getDirectory(String path, boolean create) throws IOException
path - the path to the directory.create - if true, create, or erase any existing contents.IOExceptionpublic static FSDirectory getDirectory(File file, boolean create) throws IOException
file - the path to the directory.create - if true, create, or erase any existing contents.IOExceptionpublic String[] list()
public boolean fileExists(String name)
fileExists in class Directorypublic long fileModified(String name)
fileModified in class Directorypublic static long fileModified(File directory, String name)
public void touchFile(String name)
public long fileLength(String name)
fileLength in class Directorypublic void deleteFile(String name) throws IOException
deleteFile in class DirectoryIOExceptionpublic void renameFile(String from, String to) throws IOException
renameFile in class DirectoryIOExceptionpublic IndexOutput createOutput(String name) throws IOException
createOutput in class DirectoryIOExceptionpublic void sync(String name) throws IOException
Directorysync in class DirectoryIOExceptionpublic IndexInput openInput(String name) throws IOException
DirectoryopenInput in class DirectoryIOExceptionpublic IndexInput openInput(String name, int bufferSize) throws IOException
DirectoryFSDirectory and CompoundFileReader.openInput in class DirectoryIOExceptionpublic String getLockID()
Directorypublic void close()
public File getFile()
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.