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