Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
08.06.2015
Размер:
837.63 Кб
Скачать

Механизмы ввода и вывода

© Составление, Будаев Д.С., Гаврилов А.В., 2013

Лекция 5

УНЦ «Инфоком» Самара

2013

План лекции

Потоки данных (streams)

Виды потоков и базовые классы

Разновидности потоков

Сериализация

2

Обмен данными

Разнообразие задач

Сетевые приложенияОбработка ввода с клавиатуры

Запись и считывание данных из файловИ еще множество других

Выделение системы ввода/вывода

Широкий спектр источников и получателейРазличные форматы передачи данных

3

Традиционно, проблемы!

Ввод/вывод не должен зависеть от платформы!

Отделение логики однотипных операций ввода/вывода от низкоуровневых операций

Применяется модель потоков данных:

упорядоченная последовательность данных,

которой соответствует определенный источник (потоки ввода) или получатель (потоки вывода)

Поток ввода

Поток вывода

?

?

4

Потоки данных

Представляют собой объекты

Описываются специальными классами

Решают большинство типичных задач ввода/вывода

Базовые классы работают

с байтовым представлением данных

с символьным представлением данных

5

Разновидности потоков

Ввод Вывод

Байтовые

Потоки ввода

Потоки вывода

Символьные Потоки чтения

Потоки записи

6

Структура пакета java.io

Типы общего назначения

Классы разновидностей потоков

Специализированные классы и интерфейсы для ввода и вывода значений простых типов

Классы и интерфейсы работы с файлами

Классы и интерфейсы механизма сериализации

7

Разновидности потоков

Ввод Вывод

Байтовые

Потоки ввода

Потоки вывода

InputStream

OutputStream

Символьные

Потоки чтения

Потоки записи

 

Reader

Writer

8

Класс InputStream

abstract int read() throws IOException

int read(byte[] b, int off, int len) throws IOException

int read(byte[] b)

throws IOException

long skip(long n) throws IOException

int available() throws IOException

void close()

throws IOException

9

Класс OutputStream

abstract void write(int b) throws IOException

void write(byte[] b, int off, int len) throws IOException

void write(byte[] b)

throws IOException

void flush()

throws IOException

void close()

throws IOException

10