Классы символьных потоков
Символьные потоки также определены в двух иерархиях классов. На их вершине находятся два абстрактных класса: 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 | Абстрактный класс, описывающий символьный вывод. |