ByteArrayOutputStream
n В качестве источника и получателя данных используются массивы байт
n В потоке вывода размер буфера может меняться динамически
n В потоке вывода существуют методы преобразования:
l к массиву байт byte [] toByteArray ()
l к строке String toString()
l вывода в другой поток void writeTo ( OutputStream out )
Группа байтовых потоков Data
n Интерфейс DataOutput содержnт объявления методов вывода значений простых типовvoid writeLong ( long v ), void writeFloat ( float v )
n Оберткf DataOutputStream, реализует интерфейс DataOutput
n Класс RandomAccessFile реализует интерфейс Data и позволяет работать с файлами в режиме произвольного доступа
Группа потоков File
FileOutputStream
n Позволяют трактовать файл как поток, предназначенный для ввода и вывода данных
n Связаны с исключениями FileNotFoundException и SecurityException
n Конструкторы могут получать параметры:
l Строку String, задающую имя файла
l Объект класса File
l Объект FileDescriptor (возвращается методом getFD () байтовых потоков)
Вопрос 47 Классы символьных потоков ввода: иерархия и функциональность. 13-17, 19, 21, 24Лекция Механизмы ввода-вывода информации. Понятие сериализации.
Иерархия символьных потоков
Классы-трансляторы
n Позволяют читать из байтового как из символьного и записывать в байтовый поток как в символьный (с учетом кодировки)
n InputStreamReader
l InputStreamReader(InputStream in)
l InputStreamReader(InputStream in, String encoding) throws UnsupportedEncodingException
n OutputStreamWriter
l OutputStreamWriter(OutputStream out)
l OutputStreamWriter(OutputStream out, String encoding) throws UnsupportedEncodingException
Группа потоков Filter
FilterReader
n Обертки, позволяют объединять потоки в цепочки для получения сложных потоков, обладающих расширенным набором функций
n Обладают дополнительными защищенными конструкторами
n В наследниках обычно переопределяются методы чтения/записи с добавлением новой функциональности
Группа потоков Buffered
BufferedReader
n Обертки, осуществляют буферизацию данных на программном уровне
n Размер буфера можно задать в конструкторе
n Символьные версии имеют методы чтения и записи строк
Группа потоков Piped
PipedReader
n Используются в виде пар ввода-вывода
n Данные, переданные в поток вывода, служат источником для потока ввода
n Например, реализуют механизм обмена данными между нитями
n Поток-пара задается параметром конструктора либо с помощью метода connect ()
Группы символьных потоков CharArray и String
n CharArrayReader и CharArrayWriter аналогичны ByteArrayInputStream и ByteArrayOutputStream, но оперируют с массивом символов
n StringReader и StringWriter имеют аналогичную функциональность, позволяют считывать символы из строки и записывать данные в строковый буфер
Класс StreamTokenizer
n Не является потоком чтения, но позволяет обрабатывать информацию из них
n Содержит методы лексической обработки текста
n Ряд методов предназначен для настройки работы анализатора
n Метод nextToken () производит обработку очередной лексемы, после чего:
l Поле ttype содержит константу типа лексемы
l Поля nval и sval содержат числовое и строковое представление лексемы
Группа потоков File
FileReader
n Позволяют трактовать файл как поток, предназначенный для ввода и вывода данных
n Связаны с исключениями FileNotFoundException и SecurityException
n Конструкторы могут получать параметры:
l Строку String, задающую имя файла
l Объект класса File
l Объект FileDescriptor (возвращается методом getFD () байтовых потоков)
Вопрос 48 46 Классы символьных потоков вывода: иерархия и функциональность. 13-17, 19, 20, 24 Лекция Механизмы ввода-вывода информации. Понятие сериализации.
Иерархия символьных потоков
Классы-трансляторы
n Позволяют читать из байтового как из символьного и записывать в байтовый поток как в символьный (с учетом кодировки)
n InputStreamReader
l InputStreamReader(InputStream in)
l InputStreamReader(InputStream in, String encoding) throws UnsupportedEncodingException
n OutputStreamWriter
l OutputStreamWriter(OutputStream out)
l OutputStreamWriter(OutputStream out, String encoding) throws UnsupportedEncodingException
Группа потоков Filter
FiltrerWriter
n Обертки, позволяют объединять потоки в цепочки для получения сложных потоков, обладающих расширенным набором функций
n Обладают дополнительными защищенными конструкторами
n В наследниках обычно переопределяются методы чтения/записи с добавлением новой функциональности
Группа потоков Buffered
BufferedWriter
n Обертки, осуществляют буферизацию данных на программном уровне
n Размер буфера можно задать в конструкторе
n Символьные версии имеют методы чтения и записи строк
Группа потоков Piped
PipedWriter
n Используются в виде пар ввода-вывода
n Данные, переданные в поток вывода, служат источником для потока ввода
n Например, реализуют механизм обмена данными между нитями
n Поток-пара задается параметром конструктора либо с помощью метода connect ()
Дата: 2019-07-30, просмотров: 243.