Классы символьных потоков

Символьные потоки также определены в двух иерархиях классов. На их вершине находятся два абстрактных класса: Reader и Writer. Эти абстрактные классы управляют потоками символов Unicode. В Java предусмотрено несколько конкретных подклассов для каждого из них. Классы символьных потоков перечислены в табл. 13.2.

Абстрактные классы Reader и Writer определяют несколько ключевых методов, которые реализуют другие потоковые классы. Два наиболее важных — это read () и write (.), которые, соответственно читают и пишут символьные данные. Эти методы переопределяются в потоковых классах-наследниках.

Таблица 13.2. Классы символьных потоков

Потоковый класс Назначение
BufferedReader Буферизованный входной символьный поток.
BufferedWriter Буферизованный выходной символьный поток.
CharArrayReader Входной поток, который читает из символьного массива.
CharArrayWriter Выходной поток, который пишет в символьный массив.
FileReader Входной поток, читающий файл.
FileWriter Выходной поток, пишущий в файл.
FilterReader Фильтрующий читатель.
FilterWriter Фильтрующий писатель.
InputStreamReader Входной поток, транслирующий байты в символы.
LineNumberReader Входной поток, подсчитывающий строки.
OutputStreamWriter Выходной поток, транслирующий байты в символы.
PipedReader Входной канал.
PipedWriter Выходной канал.
PrintWriter Выходной поток, включающий print () и println ().
PushbackReader Входной поток, позволяющий возвращать символы обратно в поток.
Reader Абстрактный класс, описывающий символьный ввод.
StringReader Входной поток, читающий из строки.
StringWriter Выходной поток, пишущий в строку.
Writer Абстрактный класс, описывающий символьный вывод.