org.apache.commons.io.input
public class NullReader extends Reader
This implementation provides a light weight object for testing with an {@link Reader} where the contents don't matter.
One use case would be for testing the handling of large {@link Reader} as it can emulate that scenario without the overhead of actually processing large numbers of characters - significantly speeding up test execution times.
This implementation returns a space from the method that
reads a character and leaves the array unchanged in the read
methods that are passed a character array.
If alternative data is required the processChar() and
processChars() methods can be implemented to generate
data, for example:
public class TestReader extends NullReader {
public TestReader(int size) {
super(size);
}
protected char processChar() {
return ... // return required value here
}
protected void processChars(char[] chars, int offset, int length) {
for (int i = offset; i < length; i++) {
chars[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 | |
|---|---|
| NullReader(long size)
Create a {@link Reader} that emulates a specified size
which supports marking and does not throw EOFException.
| |
| NullReader(long size, boolean markSupported, boolean throwEofException)
Create a {@link Reader} that emulates a specified
size with option settings.
| |
| Method Summary | |
|---|---|
| void | close()
Close this Reader - 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 Reader} emulates.
|
| void | mark(int readlimit)
Mark the current position.
|
| boolean | markSupported()
Indicates whether mark is supported.
|
| protected int | processChar()
Return a character value for the read() method.
|
| protected void | processChars(char[] chars, int offset, int length)
Process the characters for the read(char[], offset, length)
method.
|
| int | read()
Read a character.
|
| int | read(char[] chars)
Read some characters into the specified array.
|
| int | read(char[] chars, int offset, int length)
Read the specified number characters into an array.
|
| void | reset()
Reset the stream to the point when mark was last called.
|
| long | skip(long numberOfChars)
Skip a specified number of characters.
|
Parameters: size The size of the reader to emulate.
Parameters: size The size of the reader 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.
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 reader to emulate.
Parameters: readlimit The number of characters 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(char[], offset, length)
method.
This implementation leaves the character array unchanged.
Parameters: chars The character array offset The offset to start at. length The number of characters.
Returns: Either The character value returned by processChar()
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: chars The character array to read into
Returns: The number of characters 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: chars The character array to read into. offset The offset to start reading characters into. length The number of characters to read.
Returns: The number of characters 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: numberOfChars The number of characters to skip.
Returns: The number of characters 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.