Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java / Лекции / lection4.pdf
Скачиваний:
62
Добавлен:
15.03.2015
Размер:
201.62 Кб
Скачать

Лекция 4.Ввод-вывод

4.1.Организацияввода-вывода вJava

4.1.1. Потоки ввода-вывода

Ввод-вывод в Java организован при помощи потоков. Потоки реализуются как классы, являющиеся абстракцией устройства ввода-вывода. Поток может представлять дисковый файл, другое устройство ввода-вывода, буфер в памяти, сетевое соединение. Потоки можно объединять в цепочки и очереди. Поток может буферизовать, фильтровать, шифровать, сжимать и другим образом изменять проходящие через него данные.

Классы, отвечающие за стандартный ввод-вывод в Java, находятся в пакете java.io. Чтобы использовать эти классы, необходимо импортировать пакет java.io:

import java.io.*;

или только необходимый класс, например для импорта класса InputStream:

import java.io.InputStream;

Ввод-вывод в Java основан на базовых абстрактных классах InputStream, OutputStream, Reader и Writer. Первые два класса определяют байтовый ввод-вывод, другие два – символьный. Все другие потоки являются потомками этих четырёх. Таким образом, все потоки ввода-вывода разделены на две группы: потоки, работающие с бинарными данными, и потоки, работающие с текстовыми символами.

Таблица 4.1. Базовые классы ввода-вывода в Java.

 

Байтовый

Классы-переходники

Символьный

Ввод

InputStream

InputStreamReader

Reader

Вывод

OutputStream

OutputStreamWriter

Writer

4.1.2. Класс IOException

Класс IOException является базовым классом для всех исключений, связанных с вводом-выводом. Некоторые подклассы класса IOException:

EOFException – генерируется, если достигнут конец файла.

FileNotFoundException – генерируется в случае, если файл не найден.

UnsupportedEncodingException – генерируется, если требуемая кодировка не поддерживается.

4.2.Байтовыйввод-вывод

4.2.1. Класс InputStream

Класс InputStream отвечает за ввод бинарных данных. Поток создаётся вызовом конструктора InputStream(). После окончания работы с потоком его необходимо закрыть с помощью метода close().

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