Class BufferedLineReaderInputStream

All Implemented Interfaces:
Closeable, AutoCloseable

public class BufferedLineReaderInputStream extends LineReaderInputStream
Input buffer that can be used to search for patterns using Quick Search algorithm in data read from an InputStream.
  • Field Details

  • Constructor Details

    • BufferedLineReaderInputStream

      public BufferedLineReaderInputStream(InputStream instream, int buffersize, int maxLineLen)
    • BufferedLineReaderInputStream

      public BufferedLineReaderInputStream(InputStream instream, int buffersize)
  • Method Details

    • getBufferRecycler

      public static BufferRecycler getBufferRecycler()
    • ensureCapacity

      public void ensureCapacity(int len)
    • fillBuffer

      public int fillBuffer() throws IOException
      Throws:
      IOException
    • hasBufferedData

      public boolean hasBufferedData()
    • truncate

      public void truncate()
    • release

      public void release()
    • readAllowed

      protected boolean readAllowed()
    • read

      public int read() throws IOException
      Overrides:
      read in class FilterInputStream
      Throws:
      IOException
    • read

      public int read(byte[] b, int off, int len) throws IOException
      Overrides:
      read in class FilterInputStream
      Throws:
      IOException
    • read

      public int read(byte[] b) throws IOException
      Overrides:
      read in class FilterInputStream
      Throws:
      IOException
    • markSupported

      public boolean markSupported()
      Overrides:
      markSupported in class FilterInputStream
    • readLine

      public int readLine(ByteArrayBuffer dst) throws MaxLineLimitException, IOException
      Description copied from class: LineReaderInputStream
      Reads one line of text into the given ByteArrayBuffer.
      Specified by:
      readLine in class LineReaderInputStream
      Parameters:
      dst - Destination
      Returns:
      number of bytes copied or -1 if the end of the stream has been reached.
      Throws:
      MaxLineLimitException - if the line exceeds a limit on the line length imposed by a subclass.
      IOException - in case of an I/O error.
    • indexOf

      public int indexOf(byte[] pattern, int off, int len)
      Implements quick search algorithm as published by

      SUNDAY D.M., 1990, A very fast substring search algorithm, Communications of the ACM . 33(8):132-142.

    • indexOf

      public int indexOf(byte[] pattern)
      Implements quick search algorithm as published by

      SUNDAY D.M., 1990, A very fast substring search algorithm, Communications of the ACM . 33(8):132-142.

    • indexOf

      public int indexOf(byte b, int off, int len)
    • indexOf

      public int indexOf(byte b)
    • byteAt

      public int byteAt(int pos)
    • buf

      protected byte[] buf()
    • pos

      protected int pos()
    • limit

      protected int limit()
    • length

      protected int length()
    • capacity

      public int capacity()
    • skip

      protected int skip(int n)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • unread

      public boolean unread(ByteArrayBuffer buf)
      Description copied from class: LineReaderInputStream
      Tries to unread the last read line. Implementation may refuse to unread a new buffer until the previous unread one has been competely consumed. Implementations will directly use the byte array backed by buf, so make sure to not alter it anymore once this method has been called.
      Specified by:
      unread in class LineReaderInputStream
      Returns:
      true if the unread has been succesfull.
    • unread

      public boolean unread(RecycledByteArrayBuffer buf)
      Specified by:
      unread in class LineReaderInputStream