org.apache.commons.io.input
public class NullInputStream extends InputStream
This implementation provides a light weight object for testing with an {@link InputStream} where the contents don't matter.
One use case would be for testing the handling of large {@link InputStream} as it can emulate that scenario without the overhead of actually processing large numbers of bytes - significantly speeding up test execution times.
This implementation returns zero from the method that
reads a byte and leaves the array unchanged in the read
methods that are passed a byte array.
If alternative data is required the processByte()
and
processBytes()
methods can be implemented to generate
data, for example:
public class TestInputStream extends NullInputStream { public TestInputStream(int size) { super(size); } protected int processByte() { return ... // return required value here } protected void processBytes(byte[] bytes, int offset, int length) { for (int i = offset; i < length; i++) { bytes[i] = ... // set array value here } } }
Since: Commons IO 1.3
Version: $Revision: 463529 $
Field Summary | |
---|---|
boolean | eof |
long | mark |
boolean | markSupported |
long | position |
long | readlimit |
long | size |
boolean | throwEofException |
Constructor Summary | |
---|---|
NullInputStream(long size)
Create an {@link InputStream} that emulates a specified size
which supports marking and does not throw EOFException.
| |
NullInputStream(long size, boolean markSupported, boolean throwEofException)
Create an {@link InputStream} that emulates a specified
size with option settings.
|
Method Summary | |
---|---|
int | available()
Return the number of bytes that can be read.
|
void | close()
Close this input stream - resets the internal state to
the initial values.
|
int | doEndOfFile()
Handle End of File.
|
long | getPosition()
Return the current position.
|
long | getSize()
Return the size this {@link InputStream} emulates.
|
void | mark(int readlimit)
Mark the current position.
|
boolean | markSupported()
Indicates whether mark is supported.
|
protected int | processByte()
Return a byte value for the read() method.
|
protected void | processBytes(byte[] bytes, int offset, int length)
Process the bytes for the read(byte[], offset, length)
method.
|
int | read()
Read a byte.
|
int | read(byte[] bytes)
Read some bytes into the specified array.
|
int | read(byte[] bytes, int offset, int length)
Read the specified number bytes into an array.
|
void | reset()
Reset the stream to the point when mark was last called.
|
long | skip(long numberOfBytes)
Skip a specified number of bytes.
|
Parameters: size The size of the input stream to emulate.
Parameters: size The size of the input stream to emulate. markSupported Whether this instance will support
the mark()
functionality. throwEofException Whether this implementation
will throw an {@link EOFException} or return -1 when the
end of file is reached.
Returns: The number of bytes that can be read.
Throws: IOException If an error occurs.
Returns: -1
if throwEofException
is
set to false
Throws: EOFException if throwEofException
is set
to true
.
Returns: the current position.
Returns: The size of the input stream to emulate.
Parameters: readlimit The number of bytes before this marked position is invalid.
Throws: UnsupportedOperationException if mark is not supported.
Returns: Whether mark is supported or not.
read()
method.
This implementation returns zero.
Returns: This implementation always returns zero.
read(byte[], offset, length)
method.
This implementation leaves the byte array unchanged.
Parameters: bytes The byte array offset The offset to start at. length The number of bytes.
Returns: Either The byte value returned by processByte()
or -1
if the end of file has been reached and
throwEofException
is set to false
.
Throws: EOFException if the end of file is reached and
throwEofException
is set to true
. IOException if trying to read past the end of file.
Parameters: bytes The byte array to read into
Returns: The number of bytes read or -1
if the end of file has been reached and
throwEofException
is set to false
.
Throws: EOFException if the end of file is reached and
throwEofException
is set to true
. IOException if trying to read past the end of file.
Parameters: bytes The byte array to read into. offset The offset to start reading bytes into. length The number of bytes to read.
Returns: The number of bytes read or -1
if the end of file has been reached and
throwEofException
is set to false
.
Throws: EOFException if the end of file is reached and
throwEofException
is set to true
. IOException if trying to read past the end of file.
Throws: UnsupportedOperationException if mark is not supported. IOException If no position has been marked or the read limit has been exceed since the last position was marked.
Parameters: numberOfBytes The number of bytes to skip.
Returns: The number of bytes skipped or -1
if the end of file has been reached and
throwEofException
is set to false
.
Throws: EOFException if the end of file is reached and
throwEofException
is set to true
. IOException if trying to read past the end of file.