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

СТП / lec / java2014-lec-09

.pdf
Скачиваний:
8
Добавлен:
03.03.2016
Размер:
1.95 Mб
Скачать

Потоки ввода-вывода (IO Streams)

Часть 1

Основы потокового ввода-вывода

Поток – процесс передачи данных от источника и/или к приемнику

Поток источника инициирует передачу данных и

называется потоком ввода

Поток приёмника прерывает процесс передачи данных и называется потоком вывода

Источник и приемник являются узловыми точками потоками

Типами узловых потоков являются файлы, области

памяти и каналы между процессами

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

 

Поток

 

 

Поток байт

 

 

Поток символов

 

 

 

 

 

 

 

 

 

 

 

Поток

 

 

InputStream

 

 

Reader

 

 

источника

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поток

 

 

OutputStream

 

 

Writer

 

 

приемника

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные внутри потоков

Java поддерживает два типа потоков – символьные и байтовые

Ввод и вывод символьных данных осуществляется

«cчитывателями» и «записывателями» (readers and writers)

Ввод и вывод байтовых данных выполняется с помощью входных потоков (input streams) и

выходных потоков (output streams).

Поэтому термин «поток» (stream) обычно соотносится с байтовыми данными, а термины

«считыватель»/«записыватель» (reader/writer)

– с символьными данными.

Иерархия классов байтового ввода/вывода

Классы символьного ввода/вывода

Методы InputStream

Три основных метода:

int read()

int read(byte[] buffer)

int read(byte[] buffer, int offset, int length)

Остальные методы:

void close() int available()

long skip(long n) boolean markSupported() void mark(int readlimit) void reset()

http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html

Методы OutputStream

Три основных метода:

void write(int c)

void write(byte[] buffer)

void write(byte[] buffer, int offset, int length)

Остальные методы:

void close() void flush()

http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html

Методы Reader’а

Три основных метода:

int read()

int read(char[] cbuf)

int read(char[] cbuf, int offset, int length)

Остальные методы:

void close() boolean ready() long skip(long n)

boolean markSupported()

void mark(int readAheadLimit) void reset()

http://docs.oracle.com/javase/7/docs/api/java/io/Reader.html

Методы Writer’а

Основные методы:

void write(int c)

void write(char[] cbuf)

void write(char[] cbuf, int offset, int length) void write(String string)

void write(String string, int offset, int length)

Остальные методы:

void close() void flush()

http://docs.oracle.com/javase/7/docs/api/java/io/Writer.html

Соседние файлы в папке lec