Package org.apache.lucene.misc.store

## Class WindowsDirectory

- java.lang.Object
- - org.apache.lucene.store.Directory
  - - org.apache.lucene.store.BaseDirectory
    - - org.apache.lucene.store.FSDirectory
      - - org.apache.lucene.misc.store.WindowsDirectory

- All Implemented Interfaces:
    `Closeable`, `AutoCloseable`

      public class WindowsDirectory
      extends FSDirectory

  Native `Directory` implementation for Microsoft Windows.

  Steps:

  1. Compile the source code to create libLuceneNativeIO.dll: `./gradlew build`
  2. Put the resulting `libLuceneNativeIO.dll` (from `lucene/misc/native/build/lib/release/platform/`) into some directory in your windows PATH
  3. Open indexes with WindowsDirectory and use it.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.store.FSDirectory

      `directory`

    - ### Fields inherited from class org.apache.lucene.store.BaseDirectory

      `isOpen, lockFactory`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WindowsDirectory​(Path path)` | Create a new WindowsDirectory for the named location and `FSLockFactory.getDefault()`.
    `WindowsDirectory​(Path path, LockFactory lockFactory)` | Create a new WindowsDirectory for the named location.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `IndexInput` | `openInput​(String name, IOContext context)` |

    - ### Methods inherited from class org.apache.lucene.store.FSDirectory

      `close, createOutput, createTempOutput, deleteFile, deletePendingFiles, ensureCanRead, fileLength, fsync, getDirectory, getPendingDeletions, listAll, listAll, open, open, rename, sync, syncMetaData, toString`

    - ### Methods inherited from class org.apache.lucene.store.BaseDirectory

      `ensureOpen, obtainLock`

    - ### Methods inherited from class org.apache.lucene.store.Directory

      `copyFrom, getTempFileName, openChecksumInput`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### WindowsDirectory

          public WindowsDirectory​(Path path,
                                  LockFactory lockFactory)
                           throws IOException

      Create a new WindowsDirectory for the named location.
      Parameters:
        `path` - the path of the directory
        `lockFactory` - the lock factory to use
      Throws:
        `IOException` - If there is a low-level I/O error

    - #### WindowsDirectory

          public WindowsDirectory​(Path path)
                           throws IOException

      Create a new WindowsDirectory for the named location and `FSLockFactory.getDefault()`.
      Parameters:
        `path` - the path of the directory
      Throws:
        `IOException` - If there is a low-level I/O error

  - ### Method Detail

    - #### openInput

          public IndexInput openInput​(String name,
                                      IOContext context)
                               throws IOException

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