6.33M
Категория: ПрограммированиеПрограммирование

Чтение и запись текстовых файлов

1.

А
• Чтение и запись текстовых файлов
• Буферизация символьных потоков. BufferedReader и
BufferedWriter
• Сериализация объектов
Сара Сериковна
А

2.

А
Чтение и запись текстовых
файлов
• FileReader: Класс, который используется для чтения
символов из файла. Он наследуется от
InputStreamReader и предоставляет удобные методы
для чтения данных в виде символов.
• FileWriter: Класс, который используется для записи
символов в файл. Он наследуется от
OutputStreamWriter и обеспечивает методы для записи
символьных данных в файл.

3.

А
А
Буферизация символьных потоков.
BufferedReader и BufferedWriter
Роль буферизации в оптимизации операций ввода-вывода:
• Буферизация - это механизм временного хранения данных в памяти перед их фактической записью или
чтением из внешних источников (например, файлов или сетевых соединений).
• Оптимизация операций ввода-вывода - буферизация уменьшает количество фактических обращений к
внешнему источнику данных, что может существенно ускорить процесс чтения и записи.

4.

Использование
BufferedReader и
BufferedWriter:
BufferedReader: Класс,
обеспечивающий
буферизованное чтение
символов из потока ввода.
Обеспечивает методы,
такие как readLine(), что
делает процесс чтения
строк из файла более
эффективным.
BufferedWriter: Класс,
предоставляющий
буферизованную запись
символов в поток вывода.
Позволяет использовать
метод write() для
эффективной записи
данных.
А
Улучшение
производительности:
Буферизация снижает
количество операций
ввода-вывода, что
улучшает
производительность,
особенно при работе с
большими объемами
данных.

5.

А
Сериализация
объектов
Сериализация - процесс
преобразования объекта в
последовательность байтов,
которую можно сохранить или
передать по сети.
Десериализация - процесс
восстановления объекта из
его сериализованного
представления.
ObjectOutputStream: Класс,
предназначенный для записи
объектов в поток вывода. Имеет
методы, такие как writeObject().
А

6.

А
Упражнение: Система сохранения и загрузки
пользовательских данных
Цель: Разработать систему сохранения и загрузки данных
пользователей с использованием чтения и записи
текстовых файлов, буферизации символьных потоков, а
также сериализации объектов в Java.
А

7.

Шаги:
• Класс Пользователь (User):
⚬ Создайте класс User с полями: id (int), имя (String), возраст
(int), email (String).
⚬ Реализуйте геттеры и сеттеры, а также метод toString() для
удобного вывода информации о пользователе.
• Система управления пользователями:
⚬ Создайте класс UserManager, который будет отвечать за
управление списком пользователей.
⚬ Реализуйте методы для добавления, удаления и поиска
пользователей в списке.
⚬ Реализуйте метод для вывода всех пользователей в
консоль.
• Сериализация:
⚬ Добавьте в UserManager методы для сохранения и
загрузки списка пользователей в/из текстового файла.
⚬ Используйте ObjectOutputStream и ObjectInputStream
для сериализации и десериализации списка пользователей.
• Формат текстового файла:
⚬ При сохранении в текстовый файл каждый пользователь
должен быть представлен в виде строки с определенным
форматом (например, "id;имя;возраст;email").
⚬ Реализуйте соответствующий метод форматированной
записи данных в файл и их последующего считывания.
А

8.

• Тестирование:
⚬ Создайте несколько пользователей и добавьте их в систему
управления пользователями.
⚬ Сохраните список пользователей в файл.
⚬ Загрузите список пользователей из файла.
⚬ Выведите список пользователей в консоль для проверки
корректности работы.
• Обработка ошибок:
⚬ Реализуйте обработку исключений для всех возможных
ситуаций (например, отсутствие файла при чтении,
ошибки сериализации и десериализации и т.д.).
• Дополнительные задания (по желанию):
⚬ Реализуйте возможность редактирования данных
пользователя.
⚬ Добавьте дополнительные поля в класс User и обновите
методы сохранения и загрузки соответственно.
⚬ Реализуйте ввод данных о пользователях с клавиатуры для
более интерактивного взаимодействия.
А

9.

А
А
Спасибо за
внимание!
English     Русский Правила