Class CircularBufferInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.apache.commons.io.input.buffer.CircularBufferInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
PeekableInputStream
public class CircularBufferInputStream extends java.io.InputStream
Implements a buffered input stream, which is internally based on aCircularByteBuffer
. Unlike theBufferedInputStream
, this one doesn't need to reallocate byte arrays internally.
-
-
Constructor Summary
Constructors Constructor Description CircularBufferInputStream(java.io.InputStream inputStream)
Creates a new instance, which filters the given input stream, and uses a reasonable default buffer size (IOUtils.DEFAULT_BUFFER_SIZE
).CircularBufferInputStream(java.io.InputStream inputStream, int bufferSize)
Creates a new instance, which filters the given input stream, and uses the given buffer size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
int
read()
int
read(byte[] buffer)
int
read(byte[] targetBuffer, int offset, int length)
-
-
-
Constructor Detail
-
CircularBufferInputStream
public CircularBufferInputStream(java.io.InputStream inputStream, int bufferSize)
Creates a new instance, which filters the given input stream, and uses the given buffer size.- Parameters:
inputStream
- The input stream, which is being buffered.bufferSize
- The size of theCircularByteBuffer
, which is used internally.
-
CircularBufferInputStream
public CircularBufferInputStream(java.io.InputStream inputStream)
Creates a new instance, which filters the given input stream, and uses a reasonable default buffer size (IOUtils.DEFAULT_BUFFER_SIZE
).- Parameters:
inputStream
- The input stream, which is being buffered.
-
-
Method Detail
-
read
public int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] buffer) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] targetBuffer, int offset, int length) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
-
-