Справочник Ada 95
A.8 Последовательные и прямые файлы
Статическая семантика
В этом подпункте определены два вида доступа к внешним файлам: последовательный доступ и прямой доступ. Соответствующие типы файлов и связанные операции предоставляются обобщенными пакетами Sequential_IO и Direct_IO. Объект файла, используемый для последовательного доступа, называется последовательным файлом, а объект файла, используемый для прямого доступа, называется прямым файлом. Доступ к потоковым файлам описан в A.12.1.
При последовательном доступе файл рассматривается как последовательность значений, которые передаются в порядке их появления (как произведено программой или внешней средой). При открытии файла в режиме In_File или Out_File передача начинается соответственно с начала или в конец файла. При открытии файла в режиме Append_File передача в файл начинается после последнего элемента файла.
При прямом доступе файл рассматривается как набор элементов, занимающих последовательные позиции в линейном порядке; значение может быть передано в или из элемента файла в любой выбранной позиции. Позиция элемента задается его индексом, который является числом, большим нуля, типа целого Count, определяемого реализацией. Первый элемент, если таковой имеется, имеет индекс один; индекс последнего элемента, если таковой имеется, называется текущим размером; текущий размер равен нулю, если элементов нет. Текущий размер является свойством внешнего файла.
Открытый прямой файл имеет текущий индекс, который будет использоваться следующей операцией чтения или записи. При открытии прямого файла текущий индекс устанавливается в единицу. Текущий индекс прямого файла является свойством объекта файла, а не внешнего файла.