Package org.apache.lucene.store
Class WindowsDirectory
- java.lang.Object
-
- org.apache.lucene.store.Directory
-
- org.apache.lucene.store.BaseDirectory
-
- org.apache.lucene.store.FSDirectory
-
- org.apache.lucene.store.WindowsDirectory
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class WindowsDirectory extends FSDirectory
NativeDirectoryimplementation for Microsoft Windows.Steps:
- 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. - Put WindowsDirectory.dll into some directory in your windows PATH
- Open indexes with WindowsDirectory and use it.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classWindowsDirectory.WindowsIndexInput-
Nested classes/interfaces inherited from class org.apache.lucene.store.FSDirectory
FSDirectory.FSIndexOutput
-
-
Field Summary
Fields Modifier and Type Field Description private static intDEFAULT_BUFFERSIZE-
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(java.nio.file.Path path)Create a new WindowsDirectory for the named location andFSLockFactory.getDefault().WindowsDirectory(java.nio.file.Path path, LockFactory lockFactory)Create a new WindowsDirectory for the named location.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidclose(long fd)Closes a handle to a fileprivate static longlength(long fd)Returns the length of a fileprivate static longopen(java.lang.String filename)Opens a handle to a file.IndexInputopenInput(java.lang.String name, IOContext context)Opens a stream for reading an existing file.private static intread(long fd, byte[] bytes, int offset, int length, long pos)Reads data from a file at pos into bytes-
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
-
-
-
-
Field Detail
-
DEFAULT_BUFFERSIZE
private static final int DEFAULT_BUFFERSIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
WindowsDirectory
public WindowsDirectory(java.nio.file.Path path, LockFactory lockFactory) throws java.io.IOExceptionCreate a new WindowsDirectory for the named location.- Parameters:
path- the path of the directorylockFactory- the lock factory to use- Throws:
java.io.IOException- If there is a low-level I/O error
-
WindowsDirectory
public WindowsDirectory(java.nio.file.Path path) throws java.io.IOExceptionCreate a new WindowsDirectory for the named location andFSLockFactory.getDefault().- Parameters:
path- the path of the directory- Throws:
java.io.IOException- If there is a low-level I/O error
-
-
Method Detail
-
openInput
public IndexInput openInput(java.lang.String name, IOContext context) throws java.io.IOException
Description copied from class:DirectoryOpens a stream for reading an existing file. This method must throw eitherNoSuchFileExceptionorFileNotFoundExceptionifnamepoints to a non-existing file.
-
open
private static long open(java.lang.String filename) throws java.io.IOExceptionOpens a handle to a file.- Throws:
java.io.IOException
-
read
private static int read(long fd, byte[] bytes, int offset, int length, long pos) throws java.io.IOExceptionReads data from a file at pos into bytes- Throws:
java.io.IOException
-
close
private static void close(long fd) throws java.io.IOExceptionCloses a handle to a file- Throws:
java.io.IOException
-
length
private static long length(long fd) throws java.io.IOExceptionReturns the length of a file- Throws:
java.io.IOException
-
-