net.i2p.util

## Class LookaheadInputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.FilterInputStream
    - - net.i2p.util.LookaheadInputStream

All Implemented Interfaces:
  Closeable

    public class LookaheadInputStream
    extends FilterInputStream

Simple lookahead buffer to keep the last K bytes in reserve, configured to easily be reused. Currently only used by the ResettableGZIPInputStream

### Field Summary

### Fields inherited from class java.io.FilterInputStream

`in`

### Constructor Summary

Constructors
Constructor and Description
`LookaheadInputStream(int lookaheadSize)`

### Method Summary

Methods
`boolean` `getEOFReached()`
`byte[]` `getFooter()` grab the lookahead footer
`void` `initialize(InputStream src)`
`int` `read()`
`int` `read(byte[] buf)`
`int` `read(byte[] buf, int off, int len)`

### Methods inherited from class java.io.FilterInputStream

`available, close, mark, markSupported, reset, skip`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### LookaheadInputStream

    public LookaheadInputStream(int lookaheadSize)

### Method Detail

#### getEOFReached

    public boolean getEOFReached()

#### initialize

    public void initialize(InputStream src)
                    throws IOException

Throws:
  `IOException`

#### read

    public int read()
             throws IOException

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

#### read

    public int read(byte[] buf)
             throws IOException

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

#### read

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

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

#### getFooter

    public byte[] getFooter()

grab the lookahead footer