Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.lucene.store
Class FSDirectory

    java.lang.Object
      org.apache.lucene.store.Directory
          org.apache.lucene.store.FSDirectory

public final class FSDirectory
extends Directory

Straightforward implementation of `Directory` as a directory of files.

If the system property 'disableLuceneLocks' has the String value of "true", lock creation will be disabled.

Author:
  Doug Cutting
See Also:
  `Directory`

Field Summary
`static String` | `LOCK_DIR` Directory specified by `org.apache.lucene.lockdir` or `java.io.tmpdir` system property

Method Summary
`void` | `close()` Closes the store to future operations.
`OutputStream` | `createFile(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, boolean create)` Returns the directory instance for the named location.
`static FSDirectory` | `getDirectory(String path, boolean create)` Returns the directory instance for the named location.
`File` | `getFile()`
`String[]` | `list()` Returns an array of strings, one for each file in the directory.
`Lock` | `makeLock(String name)` Constructs a `Lock` with the specified name.
`InputStream` | `openFile(String name)` Returns a stream reading an existing file.
`void` | `renameFile(String from, String to)` Renames an existing file in the directory.
`String` | `toString()` For debug output.
`void` | `touchFile(String name)` Set the modified time of an existing file to now.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### LOCK_DIR

    public static final String LOCK_DIR

  Directory specified by `org.apache.lucene.lockdir` or `java.io.tmpdir` system property

Method Detail

### getDirectory

    public static FSDirectory getDirectory(String path,
                                           boolean create)
                                    throws IOException

  Returns the directory instance for the named location.

  Directories are cached, so that, for a given canonical path, the same FSDirectory instance will always be returned. This permits synchronization on directories.

  Parameters:
    `path` - the path to the directory.
    `create` - if true, create, or erase any existing contents.
  Returns:
    the FSDirectory for the named file.
  Throws:
    `IOException`

### getDirectory

    public static FSDirectory getDirectory(File file,
                                           boolean create)
                                    throws IOException

  Returns the directory instance for the named location.

  Directories are cached, so that, for a given canonical path, the same FSDirectory instance will always be returned. This permits synchronization on directories.

  Parameters:
    `file` - the path to the directory.
    `create` - if true, create, or erase any existing contents.
  Returns:
    the FSDirectory for the named file.
  Throws:
    `IOException`

### list

    public final String[] list()
                        throws IOException

  Returns an array of strings, one for each file in the directory.

  Specified by:
    `list` in class `Directory`
  Throws:
    `IOException`

### fileExists

    public final boolean fileExists(String name)
                             throws IOException

  Returns true iff a file with the given name exists.

  Specified by:
    `fileExists` in class `Directory`
  Throws:
    `IOException`

### fileModified

    public final long fileModified(String name)
                            throws IOException

  Returns the time the named file was last modified.

  Specified by:
    `fileModified` in class `Directory`
  Throws:
    `IOException`

### fileModified

    public static final long fileModified(File directory,
                                          String name)
                                   throws IOException

  Returns the time the named file was last modified.

  Throws:
    `IOException`

### touchFile

    public void touchFile(String name)
                   throws IOException

  Set the modified time of an existing file to now.

  Specified by:
    `touchFile` in class `Directory`
  Throws:
    `IOException`

### fileLength

    public final long fileLength(String name)
                          throws IOException

  Returns the length in bytes of a file in the directory.

  Specified by:
    `fileLength` in class `Directory`
  Throws:
    `IOException`

### deleteFile

    public final void deleteFile(String name)
                          throws IOException

  Removes an existing file in the directory.

  Specified by:
    `deleteFile` in class `Directory`
  Throws:
    `IOException`

### renameFile

    public final void renameFile(String from,
                                 String to)
                          throws IOException

  Renames an existing file in the directory.

  Specified by:
    `renameFile` in class `Directory`
  Throws:
    `IOException`

### createFile

    public final OutputStream createFile(String name)
                                  throws IOException

  Creates a new, empty file in the directory with the given name. Returns a stream writing this file.

  Specified by:
    `createFile` in class `Directory`
  Throws:
    `IOException`

### openFile

    public final InputStream openFile(String name)
                               throws IOException

  Returns a stream reading an existing file.

  Specified by:
    `openFile` in class `Directory`
  Throws:
    `IOException`

### makeLock

    public final Lock makeLock(String name)

  Constructs a `Lock` with the specified name. Locks are implemented with `File.createNewFile()`.

  In JDK 1.1 or if system property disableLuceneLocks is the string "true", locks are disabled. Assigning this property any other string will not prevent creation of lock files. This is useful for using Lucene on read-only medium, such as CD-ROM.

  Specified by:
    `makeLock` in class `Directory`
  Parameters:
    `name` - the name of the lock file
  Returns:
    an instance of `Lock` holding the lock

### close

    public final void close()
                     throws IOException

  Closes the store to future operations.

  Specified by:
    `close` in class `Directory`
  Throws:
    `IOException`

### getFile

    public File getFile()

### toString

    public String toString()

  For debug output.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.