Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
63
Добавлен:
02.05.2014
Размер:
553.98 Кб
Скачать

31. Открытие файлов

Открытие файлов осуществляется или явно с помощью оператора OPENили неявно с помощью операторовREADилиWRITE.

Пример:

OPEN( UNIT=3, FILE=’WHOD.DAT’, STATUS=’OLD’, ACCESS=’SEQUENTIAL’)

номер канала имя файла тип файла способ доступа

UNIT=3– означает открыть файл по каналу номер 3. СловоUNIT= можно опустить.

FILE– имя файла, который открывается. Если файл открывается в другом каталоге, то указывается полный путь к нему из корневого каталога. Если файл в текущем каталоге, то путь файла не указывается.

Имя файла может быть задано текстовой константой, заключенной в апострофы, или текстовой переменной (см. раздел Работа с текстом), текстовым массивом.

STATUS – тип файла (встречается редакция транслятора, где используется словоTYPE):

1) OLD– старый. Он заранее должен был быть записан на диск. Он мог быть создан текстовым редактором или в результате выполнения другой программы. Если указано ключевое словоOLD, а такой файл на диске не найден, то выдастся сообщение:

File not found

Вместо запланированного имени файла WHOD.DATможно указать имя другого файла или указать устройство "консоль"CON(дисплей). При вводе ввести данные можно с клавиатуры, а при выводе вывести информацию на экран.

2) NEW– новый. При этом на диске создаётся новый файл с указанным именем.WHOD.DAT. Этот файл открывается и в него будут записываться результаты вычислений. Если указано ключевое словоNEW, а на диске уже существует файлWHOD.DAT, то этот старый файл уничтожается, а на его месте открывается новый;

  1. UNKNOWN– неопознанный. ПриUNKNOWNосуществляется поиск файла с указанным именем как старого файла (OLD) и это файл открывается для обработки. Если файла с указанным именем не обнаружено, то создаётся новый файл с таким же именем.Если параметр STATUS не указан, то по умолчанию файл принимается типа UNKNOWN.

ACCESS– способ доступа к файлу.SEQUENTIAL– последовательный.DIRECT– прямой.Если параметр ACCESS не указан, то по умолчанию принимается файл последовательного доступа SEQUENTIAL.

Работа оператора OPENс файлами предусмотрена внутри своего каталога. Для того чтобы обратиться к файлу, находящемуся в другом каталоге, необходимо указать путь к этому файлу, начиная от корневого каталога.

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

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

Неявное открытие файла может осуществляться без оператора OPEN, если мы в оператореREADилиWRITEукажем номер канала, который раньше в этой программе не открывался или уже был закрыт.

Пример:

READ (4,7) A,B

В этом случае компьютер выведет запрос:

File name missing or blank. Please, enter the file name. UNIT4? ____

После запроса мы должны задать или имя файла, из которого будет читаться информация или обозначить устройство, с которого будет считываться информация. Можно ввести, например: имя файлаDANU.DAT– имя файла данных; илиCON– устройство консоль (ввести данные с клавиатуры дисплея). Если при выводеWRITE(4,7)A,Bфайл по каналу 4 не открыт и компьютер выдает аналогичный запрос, то можно указать устройствоPRN– принтер (тогда вся информация, которая будет выводится по каналу 4, будет выводится на принтер).

Закрытие файла осуществляется при помощи оператора CLOSE.

CLOSE (UNIT=3), или CLOSE(3).

Затем по этому каналу можно открыть другой файл:

OPEN(3, FILE=’WYHOD.REZ’)

Самый простой способ открытия файла:

OPEN(4, FILE=' ')– открыть по 4 каналу временный файл (без имени), этот файл при завершении программы удаляется автоматически.

Правило:

Одновременно не может быть открыто количество файлов больше заданного в операционной системе (обычно 20). Все открытые файлы должны быть закрыты оператором CLOSE или они автоматически закрываются при завершении работы программы.

Деловой совет:

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

Соседние файлы в папке Программирование на Фортране