org.apache.commons.io.input

## Class BrokenInputStream

- java.lang.Object
- - java.io.InputStream
  - - org.apache.commons.io.input.BrokenInputStream

All Implemented Interfaces:
  Closeable, AutoCloseable

    public class BrokenInputStream
    extends InputStream

Broken input stream. This stream always throws an `IOException` from all the `InputStream` methods where the exception is declared.

This class is mostly useful for testing error handling in code that uses an input stream.

Since:
  2.0

### Constructor Summary

Constructors
Constructor and Description
`BrokenInputStream()` Creates a new stream that always throws an `IOException`
`BrokenInputStream(IOException exception)` Creates a new stream that always throws the given exception.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `available()` Throws the configured exception.
`void` `close()` Throws the configured exception.
`int` `read()` Throws the configured exception.
`void` `reset()` Throws the configured exception.
`long` `skip(long n)` Throws the configured exception.

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

`mark, markSupported, read, read`

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

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

### Constructor Detail

#### BrokenInputStream

    public BrokenInputStream(IOException exception)

Creates a new stream that always throws the given exception.

Parameters:
  `exception` - the exception to be thrown

#### BrokenInputStream

    public BrokenInputStream()

Creates a new stream that always throws an `IOException`

### Method Detail

#### read

    public int read()
             throws IOException

Throws the configured exception.

Specified by:
  `read` in class `InputStream`
Returns:
  nothing
Throws:
  `IOException` - always thrown

#### available

    public int available()
                  throws IOException

Throws the configured exception.

Overrides:
  `available` in class `InputStream`
Returns:
  nothing
Throws:
  `IOException` - always thrown

#### skip

    public long skip(long n)
              throws IOException

Throws the configured exception.

Overrides:
  `skip` in class `InputStream`
Parameters:
  `n` - ignored
Returns:
  nothing
Throws:
  `IOException` - always thrown

#### reset

    public void reset()
               throws IOException

Throws the configured exception.

Overrides:
  `reset` in class `InputStream`
Throws:
  `IOException` - always thrown

#### close

    public void close()
               throws IOException

Throws the configured exception.

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Overrides:
  `close` in class `InputStream`
Throws:
  `IOException` - always thrown