## org.apache.solr.common.util
Class FastInputStream

    java.lang.Object
      java.io.InputStream
          org.apache.solr.common.util.FastInputStream

All Implemented Interfaces:
  Closeable, DataInput

    public class FastInputStream

extends InputStream
implements DataInput

Single threaded buffered InputStream Internal Solr use only, subject to change.

Field Summary
`protected byte[]` `buf`
`protected int` `end`
`protected InputStream` `in`
`protected int` `pos`
`protected long` `readFromStream`

Constructor Summary
`FastInputStream(InputStream in)`
`FastInputStream(InputStream in, byte[] tempBuffer, int start, int end)`

Method Summary
`int` `available()`
`void` `close()`
`int` `peek()`
`long` `position()`
`int` `read()`
`int` `read(byte[] b, int off, int len)`
`boolean` `readBoolean()`
`byte` `readByte()`
`char` `readChar()`
`double` `readDouble()`
`float` `readFloat()`
`void` `readFully(byte[] b)`
`void` `readFully(byte[] b, int off, int len)`
`int` `readInt()`
`String` `readLine()`
`long` `readLong()`
`short` `readShort()`
`int` `readUnsignedByte()`
`int` `readUnsignedShort()`
`String` `readUTF()`
`int` `readWrappedStream(byte[] target, int offset, int len)`
`void` `refill()`
`int` `skipBytes(int n)`
`static FastInputStream` `wrap(InputStream in)`

Methods inherited from class java.io.InputStream
`mark, markSupported, read, reset, skip`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### in

    protected final InputStream in

### buf

    protected final byte[] buf

### pos

    protected int pos

### end

    protected int end

### readFromStream

    protected long readFromStream

Constructor Detail

### FastInputStream

    public FastInputStream(InputStream in)

### FastInputStream

    public FastInputStream(InputStream in,
                           byte[] tempBuffer,
                           int start,
                           int end)

Method Detail

### wrap

    public static FastInputStream wrap(InputStream in)

### read

    public int read()
             throws IOException

  Specified by:
    `read` in class `InputStream`
  Throws:
    `IOException`

### peek

    public int peek()
             throws IOException

  Throws:
    `IOException`

### readUnsignedByte

    public int readUnsignedByte()
                         throws IOException

  Specified by:
    `readUnsignedByte` in interface `DataInput`
  Throws:
    `IOException`

### readWrappedStream

    public int readWrappedStream(byte[] target,
                                 int offset,
                                 int len)
                          throws IOException

  Throws:
    `IOException`

### position

    public long position()

### refill

    public void refill()
                throws IOException

  Throws:
    `IOException`

### available

    public int available()
                  throws IOException

  Overrides:
    `available` in class `InputStream`
  Throws:
    `IOException`

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws IOException

  Overrides:
    `read` in class `InputStream`
  Throws:
    `IOException`

### close

    public void close()
               throws IOException

  Specified by:
    `close` in interface `Closeable`
  Overrides:
    `close` in class `InputStream`
  Throws:
    `IOException`

### readFully

    public void readFully(byte[] b)
                   throws IOException

  Specified by:
    `readFully` in interface `DataInput`
  Throws:
    `IOException`

### readFully

    public void readFully(byte[] b,
                          int off,
                          int len)
                   throws IOException

  Specified by:
    `readFully` in interface `DataInput`
  Throws:
    `IOException`

### skipBytes

    public int skipBytes(int n)
                  throws IOException

  Specified by:
    `skipBytes` in interface `DataInput`
  Throws:
    `IOException`

### readBoolean

    public boolean readBoolean()
                        throws IOException

  Specified by:
    `readBoolean` in interface `DataInput`
  Throws:
    `IOException`

### readByte

    public byte readByte()
                  throws IOException

  Specified by:
    `readByte` in interface `DataInput`
  Throws:
    `IOException`

### readShort

    public short readShort()
                    throws IOException

  Specified by:
    `readShort` in interface `DataInput`
  Throws:
    `IOException`

### readUnsignedShort

    public int readUnsignedShort()
                          throws IOException

  Specified by:
    `readUnsignedShort` in interface `DataInput`
  Throws:
    `IOException`

### readChar

    public char readChar()
                  throws IOException

  Specified by:
    `readChar` in interface `DataInput`
  Throws:
    `IOException`

### readInt

    public int readInt()
                throws IOException

  Specified by:
    `readInt` in interface `DataInput`
  Throws:
    `IOException`

### readLong

    public long readLong()
                  throws IOException

  Specified by:
    `readLong` in interface `DataInput`
  Throws:
    `IOException`

### readFloat

    public float readFloat()
                    throws IOException

  Specified by:
    `readFloat` in interface `DataInput`
  Throws:
    `IOException`

### readDouble

    public double readDouble()
                      throws IOException

  Specified by:
    `readDouble` in interface `DataInput`
  Throws:
    `IOException`

### readLine

    public String readLine()
                    throws IOException

  Specified by:
    `readLine` in interface `DataInput`
  Throws:
    `IOException`

### readUTF

    public String readUTF()
                   throws IOException

  Specified by:
    `readUTF` in interface `DataInput`
  Throws:
    `IOException`