Главная страница

33 Java. Потоки ввода-вывода. Работа с файлами. Белорусский государственный экономический университет кафедра экономической информатики


Скачать 1.6 Mb.
НазваниеБелорусский государственный экономический университет кафедра экономической информатики
Дата06.01.2023
Размер1.6 Mb.
Формат файлаdocx
Имя файла33 Java. Потоки ввода-вывода. Работа с файлами.docx
ТипЛитература
#874813
страница1 из 13
  1   2   3   4   5   6   7   8   9   ...   13

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ


Кафедра экономической информатики

Кравчук А.С., Кравчук А.И. ПОТОКИ ВВОДА-ВЫВОДА




Минск, 2022


Оглавление

Введение 3

Потоки байтов 4

Класс InputStream 4

Класс OutputStream 4

Абстрактные классы Reader и Writer 5

Чтение и запись файлов. FileInputStream и FileOutputStream 6

Запись файлов и класс FileOutputStream 6

Чтение файлов и класс FileInputStream 8

Закрытие потоков 11

Класс Scanner 14

Работа с FileWriter и FileReader 17

Буферизованные потоки 19

Класс BufferedOutputStream 19

Класс BufferedInputStream 20

Буферизация символьных потоков. BufferedReader и

BufferedWriter 22

Сериализация/десириализация 24

Интерфейс Serializable 24

Сериализация. Класс ObjectOutputStream 24

Десериализация. Класс ObjectInputStream 26

Исключение данных из сериализации 30

Класс File 30

Работа с каталогами 32

Работа с файлами 34

Работа с ZIP-архивами 35

Литература 47

Введение


Отличительной чертой многих языков программирования является работа с файлами и потоками. В Java основной функционал работы с потоками сосредоточен в классах из пакета java.io.

Ключевым понятием здесь является понятие потока. Хотя понятие

«поток» в программировании довольно перегружено и может обозначать множество различных концепций. В данном случае применительно к работе с файлами и вводом-выводом будем говорить о потоке (stream), как об абстракции, которая используется для чтения или записи информации (файлов, сокетов, текста консоли и т.д.).

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

Объект, из которого можно считать данные, называется потоком ввода, а объект, в который можно записывать данные, - потоком вывода. Например, если надо считать содержание файла, то применяется поток ввода, а если надо записать в файл - то поток вывода.

В основе всех классов, управляющих потоками байтов, находятся два абстрактных класса: InputStream (представляющий потоки ввода) и OutputStream (представляющий потоки вывода)

Но поскольку работать с байтами не очень удобно, то для работы с потоками символов были добавлены абстрактные классы Reader (для чтения потоков символов) и Writer (для записи потоков символов).

Все остальные классы, работающие с потоками, являются наследниками этих абстрактных классов.
Замечание.

Приработесфайламиобязательнымусловиемявляетсяобработкаисключительныхситуаций.Впримерахпродемонстрированыдвасуществующихподхода:первыйэтообработкаисключительнойситуацииспомощьюблокаtry…catch внутриметода,авторойперебрасываниеисключительной(контролируемой/управляемой)ситуацииизметодаJava-машинеспомощьюсинтаксическойконструкцииthrowsИсключение.
  1   2   3   4   5   6   7   8   9   ...   13


написать администратору сайта