Пример 3. Открытие файла для чтения.




Program Files3;

Var

T: File of Integer; {описание файловой переменной с именем T, для работы с двоичными типизированными файлами с элементами типа Integer}
Begin  
Assign(T, ‘game.bin’); {сопоставление файловой переменной T файлу с именем game.bin, находящемуся в текущем каталоге}
Reset(T); {открытие файла, которому сопоставлена переменная T (game.bin) для чтения}

End.


Чтение или запись файла

Чтение информации из файла или запись информации в файл производится после его открытия соответствующим образам (для чтения или для записи). Чтение или запись файлов зависит от их типа, поэтому к данному вопросу вернемся позднее.

Добавление информации в файл

Зависит от типа файла, поэтому к этому вопросу вернемся позднее.

Закрытие файла

Для подтверждения записанной информации в файл и для сокращения ресурсов, занятых системой для поддержания файлов в открытом состоянии, после окончания работы с файлом необходимо его закрыть – перевести в неактивное состояние, когда файл недоступен для чтения и записи. Независимо от типа файла его закрытие производится процедурой Close (англ. Close – закрывать):

Close (<Файловая переменная>);

При открытии файла для записи информация, содержащаяся в нем, удаляется, затем программа заново формирует файл. После выполнения процедуры Close файл закрывается и вся информация, записанная в него, подтверждается (остается на диске). Если программа заканчивается, а файл, в который производился ввод, незакрыт, то его длина остается нулевой, то есть информация реально не записывается в файл.

При открытии файла для чтения не может возникнуть такого рода ошибки, однако существует другая проблема. Дело в том, что количество файлов, которое может быть открыто всеми программами одновременно, ограничено. Таким образом, если, например, какая-либо процедура открывает файл, используя для этого локальную переменную, и не закрывает его после чтения информации, то такой файл считается открытым, и при некотором количестве вызовов данной процедуры программа аварийно завершается с ошибкой Error 4: Too many open files – Ошибка 4: Слишком много открытых файлов.

Таким образом, необходимо внимательно следить за состоянием файлов, и, если какой-либо из них более не нужен для работы, его следует закрыть.

Пример 4. Открытие двоичного нетипизированного файла для чтения, его закрытие

Program Files4;

Var

B: File; {описание файловой переменной с именем B, для работы с двоичными нетипизированными файлами}
Begin  
Assign (B, ‘Test.bin’); {сопоставление файловой переменной B файлу с именем Test.bin, находящемуся в текущем каталоге}
Reset (B); {открытие файла, которому сопоставлена переменная B (Test.bin) для чтения}
Close (B); {закрытие файла, которому сопоставлена переменная B (Test.bin)}

End.

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


Урок 3, 4 (4 часа)

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

Добавление информации в текстовый файл

Операции сопоставления файловых переменных файлам, открытие файлов для чтения и записи, а также закрытие файлов осуществляется одинаково вне зависимости от их типа. Существенные различия существуют при чтении, записи и добавления информации в файл.

Работа с текстовыми файлами аналогична работе с экраном в текстовом режиме. Чтение и запись в них производится операторами Read, ReadLn, Write, WriteLn. При этом в качестве первого параметра этих процедур указывается файловая переменная, сопоставленная файлу, в который необходимо вывести информацию или из которого ее необходимо считать.

Read (<Файловая переменная>, <Приемник информации 1>, …, <Приемник информации n>);
ReadLn (<Файловая переменная>, <Приемник информации 1>, …, <Приемник информации n>);
Write (<Файловая переменная>, <Выводимая информация>, …, <Выводимая информация>);
WriteLn (Файловая переменная>, <Выводимая информация>, …, <Выводимая информация>);

Пример создания текстового файла, содержащего строку «Мой первый текстовый файл». Файл будет иметь имя text1.txt и находиться в текущем (вместе с выполняемой программой) каталоге.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-05-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: