Package org.apache.lucene.store
Class BufferedIndexOutput
- java.lang.Object
-
- org.apache.lucene.store.DataOutput
-
- org.apache.lucene.store.IndexOutput
-
- org.apache.lucene.store.BufferedIndexOutput
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
FSDirectory.FSIndexOutput
public abstract class BufferedIndexOutput extends IndexOutput
Base implementation class for bufferedIndexOutput
.
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_BUFFER_SIZE
The default buffer size in bytes (16384).
-
Constructor Summary
Constructors Constructor Description BufferedIndexOutput()
Creates a newBufferedIndexOutput
with the default buffer size (16384 bytes seeDEFAULT_BUFFER_SIZE
)BufferedIndexOutput(int bufferSize)
Creates a newBufferedIndexOutput
with the given buffer size.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close()
Closes this stream to further operations.void
flush()
Forces any buffered output to be written.protected abstract void
flushBuffer(byte[] b, int offset, int len)
Expert: implements buffer write.int
getBufferSize()
Returns size of the used output buffer in bytes.long
getFilePointer()
Returns the current position in this file, where the next write will occur.abstract long
length()
The number of bytes in the file.void
seek(long pos)
Sets current position in this file, where the next write will occur.void
writeByte(byte b)
Writes a single byte.void
writeBytes(byte[] b, int offset, int length)
Writes an array of bytes.-
Methods inherited from class org.apache.lucene.store.IndexOutput
setLength
-
Methods inherited from class org.apache.lucene.store.DataOutput
copyBytes, writeBytes, writeInt, writeLong, writeShort, writeString, writeStringSet, writeStringStringMap, writeVInt, writeVLong
-
-
-
-
Field Detail
-
DEFAULT_BUFFER_SIZE
public static final int DEFAULT_BUFFER_SIZE
The default buffer size in bytes (16384).- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BufferedIndexOutput
public BufferedIndexOutput()
Creates a newBufferedIndexOutput
with the default buffer size (16384 bytes seeDEFAULT_BUFFER_SIZE
)
-
BufferedIndexOutput
public BufferedIndexOutput(int bufferSize)
Creates a newBufferedIndexOutput
with the given buffer size.- Parameters:
bufferSize
- the buffer size in bytes used to buffer writes internally.- Throws:
IllegalArgumentException
- if the given buffer size is less or equal to 0
-
-
Method Detail
-
writeByte
public void writeByte(byte b) throws IOException
Description copied from class:DataOutput
Writes a single byte.The most primitive data type is an eight-bit byte. Files are accessed as sequences of bytes. All other data types are defined as sequences of bytes, so file formats are byte-order independent.
- Specified by:
writeByte
in classDataOutput
- Throws:
IOException
- See Also:
DataInput.readByte()
-
writeBytes
public void writeBytes(byte[] b, int offset, int length) throws IOException
Description copied from class:DataOutput
Writes an array of bytes.- Specified by:
writeBytes
in classDataOutput
- Parameters:
b
- the bytes to writeoffset
- the offset in the byte arraylength
- the number of bytes to write- Throws:
IOException
- See Also:
DataInput.readBytes(byte[],int,int)
-
flush
public void flush() throws IOException
Description copied from class:IndexOutput
Forces any buffered output to be written.- Specified by:
flush
in classIndexOutput
- Throws:
IOException
-
flushBuffer
protected abstract void flushBuffer(byte[] b, int offset, int len) throws IOException
Expert: implements buffer write. Writes bytes at the current position in the output.- Parameters:
b
- the bytes to writeoffset
- the offset in the byte arraylen
- the number of bytes to write- Throws:
IOException
-
close
public void close() throws IOException
Description copied from class:IndexOutput
Closes this stream to further operations.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classIndexOutput
- Throws:
IOException
-
getFilePointer
public long getFilePointer()
Description copied from class:IndexOutput
Returns the current position in this file, where the next write will occur.- Specified by:
getFilePointer
in classIndexOutput
- See Also:
IndexOutput.seek(long)
-
seek
public void seek(long pos) throws IOException
Description copied from class:IndexOutput
Sets current position in this file, where the next write will occur.- Specified by:
seek
in classIndexOutput
- Throws:
IOException
- See Also:
IndexOutput.getFilePointer()
-
length
public abstract long length() throws IOException
Description copied from class:IndexOutput
The number of bytes in the file.- Specified by:
length
in classIndexOutput
- Throws:
IOException
-
getBufferSize
public final int getBufferSize()
Returns size of the used output buffer in bytes.
-
-