Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. Анализ денежных потоков косвенным методом
  2. Анализ денежных потоков косвенным методом
  3. Анализ денежных потоков прямым методом
  4. В сферу эксплуатации входят безопасность и график движения поездов, организация вагонопотоков, техническое нормирование, использование локомотивов и вагонов Технической
  5. Восприятие энергетических полей и потоков в теле
  6. Встречи, группы, классы
  7. Гетерогенные (неоднородные) классы

 

Для определения символьных потоков используются две иерархические структуры классов, на верху которых находятся соответственно абстрактные классы Reаder и Writer. Класс Reader и его подклассы используются для чтения, а классы Writer и его потомки - для записи данных. Конкретные классы, являющиеся подклассами Reader и Writer, действуют с символами в формате Unicode.

Символьно-ориентированные классы присутствуют в Java параллельно с байтово-ориентированными классами. Классы символьных потоков приведены в таблице 2.

 

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

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

 

Предопределенные потоки

 

Как вы уже знаете, во все Java-программы автоматически импортируется пакет java.lang. В этом пакете определен класс System, инкапсулирующий некоторые элементы среды выполнения программ. Помимо прочего, в нем содержатся предопределенные переменные in, out и err, представляющие потоки.

Данные поля определены как public, final и static. Это означает, что для их использования не обязательно создавать конкретный объект типа System.

Переменная System.out ссылается на стандартный выходной поток. По умолчанию данный поток связан с консолью. Переменная System.in ссылается на стандартный входной поток, соответствующий клавиатуре. И наконец, объект, на который ссылается System.err, реализует стандартный поток ошибок. Данные, выводимые в этот поток по умолчанию, поступают на консольный терминал. При необходимости, описанные выше потоки могут быть перенаправлены и на другие устройства.

System.in представляет собой объект типа InputStream; System.out и System.err — объекты типа PrintStream. Хотя эти потоки обычно используются для чтения и записи символов, они являются байтовыми потоками. Причина в том, что данные потоки были определены в исходной спецификации Java в которой, как вы знаете, символьные потоки вовсе не были предусмотрены. Как вы вскоре увидите, при необходимости для данных потоков можно создать оболочки, превратив их в символьные потоки.

 

1 Вопросы для текущего контроля

1. Что такое поток?

2. Какие типы потоков определены в Java?

3. Назовите встроенные потоки.

 


Дата добавления: 2015-07-10; просмотров: 141 | Нарушение авторских прав


Читайте в этой же книге: FileInputStream(String fileName) throws FileNotFoundException | Чтение и запись двоичных данных | Void seek(long newPos) throws IOException | Чтение символов | Использование оболочек для преобразования строк, представляющих числа |
<== предыдущая страница | следующая страница ==>
Байтовые и символьные потоки| Использование байтовых потоков

mybiblioteka.su - 2015-2024 год. (0.005 сек.)