Файл — это поименованная область на магнитном или лазерном диске. В файлах могут содержаться тексты, графические и видеоизображения, звуки и музыка, таблицы и базы, данные программы, данные для этих программ.
Требования к имени файла:
имя не должно быть больше чем 8 символов;
имя может состоять из букв латинского алфавита, цифр и символов, например, _, -, (,), $ и некоторых других.
в имени файла запрещены символы <Пробел>, *, точка, запятая, кавычки, двоеточие.
Файл характеризуется:
- именем
- типом
- размером
- доступом ( для чтения, редактирования)
- типом доступа
- режимом доступа ( программной обработки)
Прямой или последовательный доступ
Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Расширение имеет длину не более трех символов, указывается через точку после имени.
В файлах вы можете хранить как исходные данные для обработки, так и результаты работы программы.
Для работы в Бейсике необходимы файлы, хранящие однородные по типу или структуре сведения, о каких-либо объектах. Набор данных о каком-либо одном объекте называется записью.
Дескриптор - уникальный номер ( обычно до 128) по этому номеру открывается канал передачи в файл
Файлы последовательного доступа наиболее просты как в организации, так и в работе с ними. Записи обрабатываются последовательно одна за другой.
Информация в таких файлах хранится в виде текста в кодах ASCII. Такие файлы легко просмотреть на экране, используя любой простейший редактор, или в самом Бейсике.
Простота — хорошо, а последовательность в данном случае — плохо. Если информация об интересующем объекте упорядочена в файле по алфавиту, то придется перебирать практически весь файл, чтобы добраться до нужной записи. (Невозможно получить доступ к записи файла без чтения предыдущей записи) Отсюда, при большом информационном объеме файла обработка его замедляется.
1) Обрабат. данные могут быть только текстов., что накладывает ограницчения на использование этого файла др. программ
2) Указатель нельзя переместить на запись, которая ранее была считана
3) Невозможно одновременно чтение и запись в одном сеансе открытия/закрытия файла
Файлы прямого доступа хранят информацию в специальном формате, в котором каждая запись занимает строго фиксированную одинаковую с остальными длину. Такие файлы занимают на диске больше места, чем файлы последовательного доступа, но скорость работы с ними значительно выше.
SEEK - установ. указатель на треб. запись
Операции над файлами
Независимо от того, какие действия происходят с информацией, хранящейся в файле, производятся следующие обязательные операции:
1. открытие файла;
Для открытия файла предназначен оператор OPEN, имеющий следующий формат:
OPEN имя_ файла FOR режим AS # номер файла
Режим определяет доступ к данным файла. Возможны следующие режимы:
INPUT. Это режим чтения информации из файла. В случае если указывается несуществующее имя файла, возникнет сообщение об ошибке "Файл не найден". 116
OUTPUT. Режим записи информации в файл. Обычно при этом создается новый файл. Если же открывается для записи уже существующий файл, то ранее хранимая в нем информация будет утеряна.
APPEND. Режим добавления информации в файл. Новая информация будет размещена в конце файла, за последней записью.
Номер файла предваряется знаком #, после которого следует целое число от 1 до 255.
2. чтение и запись обрабатываемых данных;
Это многократно повторяющиеся операции обращ. к данным, хран. на всешних устройствах
Запись в файл может производиться операторами:
PRINT # номер_файла, выражение
ИЛИ WRITE # номер_файла, выражение
Результат работы этих операторов одинаков
Чтение из файла производится аналогично записи, но — вместо режима OUTPUT используется режим INPUT
Оператор LOOP UNTIL EOF(1) . Означает, что считывание ведется до тех пор, пока не будет обнаружен символ конца файла (end of file), а в скобках указан номер открытого файла.
3. закрытие файла.
т.к. файловый вывод буферизирован, т.е. имеется некотор. область памяти, которая заполняется данными предназваначена для чтения/записи
Физически перенос данных после наполнения буфера
Все имеющиеся участки памяти буфера перепис. на носитель
Занятой дескриптор освобождается и может в дальнейшем использоваться с др. файлами
операторы: OUTPUT - запись INPUT - чтение
Изменения данных в файле - Для изменения какой-либо записи, удаления старых или добавления новых данных в последовательном файле необходимо открыть два файла: подлежащий изменению и новый, в котором создается обновленная версия исходного файла.
Добавление данных в файл - Указание FOR APPEND в операторе OPEN подготавливает файл для вывода данных и смещает указатель на конец файла. Последующие операторы приписывают новую информацию к уже имеющейся.