org.restlet.engine.http.io

## Class SizedInputStream

- java.lang.Object
- - java.io.InputStream
  - - org.restlet.engine.http.io.InputEntityStream
    - - org.restlet.engine.http.io.SizedInputStream

All Implemented Interfaces:
  java.io.Closeable, java.lang.AutoCloseable

    public class SizedInputStream
    extends InputEntityStream

Input stream based on a source stream that must only be partially read.

Author:
  Jerome Louvel

### Constructor Summary

Constructors
Constructor and Description
`SizedInputStream(Notifiable notifiable, java.io.InputStream inboundStream, long size)` Constructor.

### Method Summary

Methods
`int` `available()`
`void` `close()`
`void` `mark(int readlimit)`
`boolean` `markSupported()`
`int` `read()` Reads a byte from the underlying stream.
`int` `read(byte[] b, int off, int len)`
`void` `reset()`
`long` `skip(long n)`

### Methods inherited from class org.restlet.engine.http.io.InputEntityStream

`getInboundStream, onEndReached, onError`

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

`read`

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

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

### Constructor Detail

#### SizedInputStream

    public SizedInputStream(Notifiable notifiable,
                    java.io.InputStream inboundStream,
                    long size)

Constructor.

Parameters:
  `notifiable` - The notifiable connection.
  `inboundStream` - The inbound stream.
  `size` - The total size that should be read from the source stream.

### Method Detail

#### available

    public int available()
                  throws java.io.IOException

Overrides:
  `available` in class `java.io.InputStream`
Throws:
  `java.io.IOException`

#### close

    public void close()
               throws java.io.IOException

Specified by:
  `close` in interface `java.io.Closeable`
Specified by:
  `close` in interface `java.lang.AutoCloseable`
Overrides:
  `close` in class `java.io.InputStream`
Throws:
  `java.io.IOException`

#### mark

    public void mark(int readlimit)

Overrides:
  `mark` in class `java.io.InputStream`

#### markSupported

    public boolean markSupported()

Overrides:
  `markSupported` in class `java.io.InputStream`

#### read

    public int read()
             throws java.io.IOException

Reads a byte from the underlying stream.

Specified by:
  `read` in class `java.io.InputStream`
Returns:
  The byte read, or -1 if the end of the stream has been reached.
Throws:
  `java.io.IOException`

#### read

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

Overrides:
  `read` in class `java.io.InputStream`
Throws:
  `java.io.IOException`

#### reset

    public void reset()
               throws java.io.IOException

Overrides:
  `reset` in class `java.io.InputStream`
Throws:
  `java.io.IOException`

#### skip

    public long skip(long n)
              throws java.io.IOException

Overrides:
  `skip` in class `java.io.InputStream`
Throws:
  `java.io.IOException`