org.apache.commons.io.input

## Class CircularInputStream

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

- All Implemented Interfaces:
    Closeable, AutoCloseable
  Direct Known Subclasses:
    InfiniteCircularInputStream

      public class CircularInputStream
      extends InputStream

  An `InputStream` that repeats provided bytes for given target byte count.

  Closing this input stream has no effect. The methods in this class can be called after the stream has been closed without generating an `IOException`.

  Since:
    2.8.0
  See Also:
    `InfiniteCircularInputStream`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CircularInputStream(byte[] repeatContent, long targetByteCount)` Creates an instance from the specified array of bytes.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `read()`

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

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

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

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

- - ### Constructor Detail

    - #### CircularInputStream

          public CircularInputStream(byte[] repeatContent,
                                     long targetByteCount)

      Creates an instance from the specified array of bytes.
      Parameters:
        `repeatContent` - Input buffer to be repeated this buffer is not copied.
        `targetByteCount` - How many bytes the read. A negative number means an infinite target count.

  - ### Method Detail

    - #### read

          public int read()

      Specified by:
        `read` in class `InputStream`

Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.