Всё, что программа знает, живёт в переменных, а переменные живут, пока работает программа.
Файл – данные на диске, у которых есть имя. Программа открывает их по этому имени, читает и пишет, а после её завершения они остаются на месте.
Имя файла – это на самом деле путь, то есть адрес, по которому его искать. Короткое имя data.txt адресует файл рядом с программой, полное – конкретное место на диске; об этом ниже, в отдельном блоке.
Дальше важная подробность: на диске текст лежит не символами, а байтами, а кодировка – то самое правило перевода одного в другое, которым занят весь блок 7. Поэтому при чтении файла мало сказать, что открыть, – надо ещё указать, в какой кодировке написан текст, иначе получатся кракозябры из урока 7.2. Проще всего её не угадывать, а договориться заранее: файлы пишут в UTF-8, и её же используют при открытии.
И ещё одно, что неочевидно: для программы текстовый файл – это одна длинная последовательность символов, разбитая на строки переводом строки. Никаких отдельных «записей» и «ячеек» там нет: строка кончается там, где стоит \n. Сколько их в файле, программа заранее не знает – она читает, пока строки не кончатся.