Class OutputStreamIndexOutput

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    FSDirectory.FSIndexOutput

    public class OutputStreamIndexOutput
    extends IndexOutput
    Implementation class for buffered IndexOutput that writes to an OutputStream.
    • Field Detail

      • crc

        private final java.util.zip.CRC32 crc
      • os

        private final java.io.BufferedOutputStream os
      • bytesWritten

        private long bytesWritten
      • flushedOnClose

        private boolean flushedOnClose
    • Constructor Detail

      • OutputStreamIndexOutput

        public OutputStreamIndexOutput​(java.lang.String resourceDescription,
                                       java.lang.String name,
                                       java.io.OutputStream out,
                                       int bufferSize)
        Creates a new OutputStreamIndexOutput with the given buffer size.
        Parameters:
        bufferSize - the buffer size in bytes used to buffer writes internally.
        Throws:
        java.lang.IllegalArgumentException - if the given buffer size is less or equal to 0
    • Method Detail

      • writeByte

        public final void writeByte​(byte b)
                             throws java.io.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 class DataOutput
        Throws:
        java.io.IOException
        See Also:
        DataInput.readByte()
      • writeBytes

        public final void writeBytes​(byte[] b,
                                     int offset,
                                     int length)
                              throws java.io.IOException
        Description copied from class: DataOutput
        Writes an array of bytes.
        Specified by:
        writeBytes in class DataOutput
        Parameters:
        b - the bytes to write
        offset - the offset in the byte array
        length - the number of bytes to write
        Throws:
        java.io.IOException
        See Also:
        DataInput.readBytes(byte[],int,int)
      • close

        public void close()
                   throws java.io.IOException
        Description copied from class: IndexOutput
        Closes this stream to further operations.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class IndexOutput
        Throws:
        java.io.IOException
      • getFilePointer

        public final long getFilePointer()
        Description copied from class: IndexOutput
        Returns the current position in this file, where the next write will occur.
        Specified by:
        getFilePointer in class IndexOutput
      • getChecksum

        public final long getChecksum()
                               throws java.io.IOException
        Description copied from class: IndexOutput
        Returns the current checksum of bytes written so far
        Specified by:
        getChecksum in class IndexOutput
        Throws:
        java.io.IOException