Class FastInputStream

java.lang.Object
java.io.InputStream
com.sleepycat.util.FastInputStream
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
TupleInput

public class FastInputStream extends InputStream
A replacement for ByteArrayInputStream that does not synchronize every byte read.

This class extends InputStream and its read() methods allow it to be used as a standard input stream. In addition, it provides readFast() methods that are not declared to throw IOException. IOException is never thrown by this class.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected byte[]
     
    protected int
     
    protected int
     
    protected int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    FastInputStream(byte[] buffer)
    Creates an input stream.
    FastInputStream(byte[] buffer, int offset, int length)
    Creates an input stream.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     
    final byte[]
    Returns the underlying data being read.
    final int
    Returns the end of the buffer being read.
    final int
    Returns the offset at which data is being read from the buffer.
    void
    mark(int readLimit)
     
    boolean
     
    int
     
    int
    read(byte[] toBuf)
     
    int
    read(byte[] toBuf, int offset, int length)
     
    final int
    Equivalent to read() but does not throw IOException.
    final int
    readFast(byte[] toBuf)
    Equivalent to read(byte[]) but does not throw IOException.
    final int
    readFast(byte[] toBuf, int offset, int length)
    Equivalent to read(byte[],int,int) but does not throw IOException.
    void
     
    long
    skip(long count)
     
    final void
    skipFast(int count)
    Equivalent to skip() but takes an int parameter instead of a long, and does not check whether the count given is larger than the number of remaining bytes.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • len

      protected int len
    • off

      protected int off
    • mark

      protected int mark
    • buf

      protected byte[] buf
  • Constructor Details

    • FastInputStream

      public FastInputStream(byte[] buffer)
      Creates an input stream.
      Parameters:
      buffer - the data to read.
    • FastInputStream

      public FastInputStream(byte[] buffer, int offset, int length)
      Creates an input stream.
      Parameters:
      buffer - the data to read.
      offset - the byte offset at which to begin reading.
      length - the number of bytes to read.
  • Method Details

    • available

      public int available()
      Overrides:
      available in class InputStream
    • markSupported

      public boolean markSupported()
      Overrides:
      markSupported in class InputStream
    • mark

      public void mark(int readLimit)
      Overrides:
      mark in class InputStream
    • reset

      public void reset()
      Overrides:
      reset in class InputStream
    • skip

      public long skip(long count)
      Overrides:
      skip in class InputStream
    • read

      public int read()
      Specified by:
      read in class InputStream
    • read

      public int read(byte[] toBuf)
      Overrides:
      read in class InputStream
    • read

      public int read(byte[] toBuf, int offset, int length)
      Overrides:
      read in class InputStream
    • skipFast

      public final void skipFast(int count)
      Equivalent to skip() but takes an int parameter instead of a long, and does not check whether the count given is larger than the number of remaining bytes.
      See Also:
    • readFast

      public final int readFast()
      Equivalent to read() but does not throw IOException.
      See Also:
    • readFast

      public final int readFast(byte[] toBuf)
      Equivalent to read(byte[]) but does not throw IOException.
      See Also:
    • readFast

      public final int readFast(byte[] toBuf, int offset, int length)
      Equivalent to read(byte[],int,int) but does not throw IOException.
      See Also:
    • getBufferBytes

      public final byte[] getBufferBytes()
      Returns the underlying data being read.
      Returns:
      the underlying data.
    • getBufferOffset

      public final int getBufferOffset()
      Returns the offset at which data is being read from the buffer.
      Returns:
      the offset at which data is being read.
    • getBufferLength

      public final int getBufferLength()
      Returns the end of the buffer being read.
      Returns:
      the end of the buffer.