# Reader constructor

Reader()

Abstract class for reading character streams.

The only methods that a subclass must implement are readChar and close. Most subclasses, however, will override some of the methods defined here in order to provide higher efficiency, additional functionality, or both.

## Design Philosophy

The Reader class provides a uniform interface for reading character data from various sources. Unlike InputStream which deals with raw bytes, Reader handles character encoding and provides text-oriented operations.

## Example Usage

    // Reading from a file
    final reader = FileReader('document.txt');
    try {
      String line;
      while ((line = await reader.readLine()) != null) {
        print('Line: $line');
      }
    } finally {
      await reader.close();
    }

    // Reading with buffering for better performance
    final bufferedReader = BufferedReader(FileReader('large_document.txt'));
    try {
      final content = await bufferedReader.readAll();
      processText(content);
    } finally {
      await bufferedReader.close();
    }

## Implementation

    Reader();