org.apache.lucene.store
Class IndexInput

java.lang.Object
  extended by org.apache.lucene.store.DataInput
      extended by org.apache.lucene.store.IndexInput
All Implemented Interfaces:
Closeable, Cloneable
Direct Known Subclasses:
BufferedIndexInput, ChecksumIndexInput

public abstract class IndexInput
extends DataInput
implements Cloneable, Closeable

Abstract base class for input from a file in a Directory. A random-access input stream. Used for all Lucene index input operations.

See Also:
Directory

Field Summary
protected  byte[] copyBuf
           
 
Constructor Summary
IndexInput()
           
 
Method Summary
abstract  void close()
          Closes the stream to further operations.
 void copyBytes(IndexOutput out, long numBytes)
          Copies numBytes bytes to the given IndexOutput.
abstract  long getFilePointer()
          Returns the current position in this file, where the next read will occur.
abstract  long length()
          The number of bytes in the file.
abstract  void seek(long pos)
          Sets current position in this file, where the next read will occur.
 void skipChars(int length)
          Deprecated. this method operates on old "modified utf8" encoded strings
 
Methods inherited from class org.apache.lucene.store.DataInput
clone, readByte, readBytes, readBytes, readChars, readInt, readLong, readShort, readString, readStringStringMap, readVInt, readVLong, setModifiedUTF8StringsMode
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

copyBuf

protected byte[] copyBuf
Constructor Detail

IndexInput

public IndexInput()
Method Detail

skipChars

@Deprecated
public void skipChars(int length)
               throws IOException
Deprecated. this method operates on old "modified utf8" encoded strings

Expert Similar to DataInput.readChars(char[], int, int) but does not do any conversion operations on the bytes it is reading in. It still has to invoke DataInput.readByte() just as DataInput.readChars(char[], int, int) does, but it does not need a buffer to store anything and it does not have to do any of the bitwise operations, since we don't actually care what is in the byte except to determine how many more bytes to read

Parameters:
length - The number of chars to read
Throws:
IOException

close

public abstract void close()
                    throws IOException
Closes the stream to further operations.

Specified by:
close in interface Closeable
Throws:
IOException

getFilePointer

public abstract long getFilePointer()
Returns the current position in this file, where the next read will occur.

See Also:
seek(long)

seek

public abstract void seek(long pos)
                   throws IOException
Sets current position in this file, where the next read will occur.

Throws:
IOException
See Also:
getFilePointer()

length

public abstract long length()
The number of bytes in the file.


copyBytes

public void copyBytes(IndexOutput out,
                      long numBytes)
               throws IOException
Copies numBytes bytes to the given IndexOutput.

NOTE: this method uses an intermediate buffer to copy the bytes. Consider overriding it in your implementation, if you can make a better, optimized copy.

NOTE ensure that there are enough bytes in the input to copy to output. Otherwise, different exceptions may be thrown, depending on the implementation.

Throws:
IOException


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