org.apache.lucene.store

## Class WindowsDirectory

- java.lang.Object
- - org.apache.lucene.store.Directory
  - - org.apache.lucene.store.FSDirectory
    - - org.apache.lucene.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 WindowsDirectory.dll:

   > c:\mingw\bin\g++ -Wall -D_JNI_IMPLEMENTATION_ -Wl,--kill-at -I"%JAVA_HOME%\include" -I"%JAVA_HOME%\include\win32" -static-libgcc -static-libstdc++ -shared WindowsDirectory.cpp -o WindowsDirectory.dll

   For 64-bit JREs, use mingw64, with the -m64 option.
2. Put WindowsDirectory.dll 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.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.lucene.store.FSDirectory

`FSDirectory.FSIndexInput, FSDirectory.FSIndexOutput`

### Nested classes/interfaces inherited from class org.apache.lucene.store.Directory

`Directory.IndexInputSlicer`

### Field Summary

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

`DEFAULT_READ_CHUNK_SIZE, directory, staleFiles`

### Fields inherited from class org.apache.lucene.store.Directory

`isOpen, lockFactory`

### Constructor Summary

Constructors
Constructor and Description
`WindowsDirectory(File path)` Create a new WindowsDirectory for the named location and `NativeFSLockFactory`.
`WindowsDirectory(File path, LockFactory lockFactory)` Create a new WindowsDirectory for the named location.

### Method Summary

Methods
`IndexInput` `openInput(String name, IOContext context)`

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

`close, createOutput, deleteFile, ensureCanWrite, fileExists, fileLength, fileModified, fsync, getDirectory, getLockID, getReadChunkSize, listAll, listAll, onIndexOutputClosed, open, open, setLockFactory, setReadChunkSize, sync, toString`

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

`clearLock, copy, createSlicer, ensureOpen, getLockFactory, makeLock`

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

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

### Constructor Detail

#### WindowsDirectory

    public WindowsDirectory(File 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, or null for the default (`NativeFSLockFactory`);
Throws:
  `IOException` - If there is a low-level I/O error

#### WindowsDirectory

    public WindowsDirectory(File path)
                     throws IOException

Create a new WindowsDirectory for the named location and `NativeFSLockFactory`.

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`