You are on page 1of 1

Лаб. 2. Ввід вивід з файлів.

Серіалізація
Написати програму, що дозволяє зручно редагувати список фільмів
(ArrayList<Film>) та здійснювати в ньому зручний пошук (рік, жанр).
В об’єкті Film про фільм зберігається така інформація:
int id, String name, int year, String genres.
Програма повинна читати список фільмів із файлу при запуску і записувати при
завершенні відредагований список в файли в двох форматах – текстовий файл
(movies.txt ) і файл серіалізації (movies.dat).
В файлі movies.csv (із movies.zip) зберігається список фільмів у текстовому
форматі (один фільм – один рядок):
movieId,title,genres
1,Toy Story (1995),Adventure|Animation|Children|Comedy|Fantasy

29,"City of Lost Children, The (CitГ© des enfants perdus, La) (1995)",Adventure|Drama|Fantasy|Mystery|Sci-Fi

1) Ідентифікаційний номер, 2) назва (включає рік випуску у круглих дужках),


3)жанри (назви жанрів розділяються вертикальною лінією).
Номер, назва, жанр відділяються комою. Зверніть увагу, що коли у назві
фільму є кома(и) – назва фільму записана у файлі в подвійних лапках.
При старті програми список фільмів спочатку пустий.
Його можна заповнити одним із трьох способів (три пункта меню):
1. Ініціалізація
Із файлу movies.csv читаються рядки від n до m (n, m задаються, m-n>1000),
розбиваються на елементи, створюються об’єкти Film і додаються до ArrayList.
2. Прочитати з текстового файлу
Із файлу movies.txt (формат аналогічний movies.csv ) читаються всі рядки,
розбиваються на елементи, створюються об’єкти Film і додаються до ArrayList.
3.Десеарелізація.
Відновити список фільмів (ArrayList) із файлу серіалізації movies.dat.
Інші пункти меню:
3-5. Пошук, видалення, додавання
Пошук по року випуску або жанру. Видалення по заданому id. При додаванні id
задається автоматично, інші поля вводяться з клавіатури.
6. Редагування
*Необов’язкове. При редагування в об’єкті заданому по id змінюємо окремі поля.
0. Вихід
Відредагований список записується в файли movies.txt (в форматі файлу
movies.csv) та серіалізується в файлі movies.dat

You might also like