## 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

    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
   `protected static class` `WindowsDirectory.WindowsIndexInput`

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

   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
   `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
   `IndexInput` `openInput(String name, int bufferSize)` Returns a stream reading an existing file, with the specified read buffer size.

   Methods inherited from class org.apache.lucene.store.FSDirectory
   `close, createOutput, deleteFile, ensureCanWrite, fileExists, fileLength, fileModified, fileModified, fsync, getDirectory, getFile, getLockID, getReadChunkSize, listAll, listAll, onIndexOutputClosed, open, open, openInput, setLockFactory, setReadChunkSize, sync, sync, toString, touchFile`

   Methods inherited from class org.apache.lucene.store.Directory
   `clearLock, copy, copy, 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`

   ### 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`

   Method Detail

   ### openInput

       public IndexInput openInput(String name,
                                   int bufferSize)
                            throws IOException

     Description copied from class: `Directory`
     Returns a stream reading an existing file, with the specified read buffer size. The particular Directory implementation may ignore the buffer size. Currently the only Directory implementations that respect this parameter are `FSDirectory` and `CompoundFileReader`.

     Overrides:
       `openInput` in class `Directory`
     Throws:
       `IOException`