Abstract class for handling input streams of character.
Extending subclasses are BufferedReader, InputStreamReader, StringReader.
Due to being an abstract class, for declaration use constructor of a subclass.
Processing of the stream is sequential: after reading the given amount of data, the position will shift as well, the next reading will start from there.
In case a method tries to access data after the end of the source (accessed length is greater than the actually available), exception raises.
The stream must be closed after processing in order to release the source.
After closing the stream, any method will raise exception.
The Reader implements the AutoClosable interface, the try-with-resources statement can be used to ensure proper closing.
Find some practical information about file handling under the File operations section.
EXAMPLE FOR USAGE: