Предикат openread(SimbolicFileName,OSFileName) открывает файл только для чтения.
Если файл с указанным внешним именем не будет обнаружен, предикат терпит неудачу и
выводит соответствующее сообщение об ошибке.
Предикат openwrite(SimbolicFileName,OSFileName) открывает файл только для записи.
Этот предикат создает на диске новый файл. Если файл с указанным внешним именем уже
существует, он будет стерт. Если по какой-то причине файл не может быть создан,
предикат терпит неудачу и выводит соответствующее сообщение об ошибке.
Предикат openappend(SimbolicFileName,OSFileName) открывает файл только для
дозаписи в конец файла. Если файл с указанным именем не будет обнаружен, предикат
выводит соответствующее сообщение об ошибке.
Предикат openmodify(SimbolicFileName,OSFileName) открывает файл для чтения и
записи одновременно. Если файл с указанным именем не будет обнаружен, предикат
выводит соответствующее сообщение об ошибке.
Для того чтобы проверить, существует ли файл с указанным именем в указанном месте,
используется предикат existfile(OSFileName). Этот предикат имеет один аргумент.
Предикат истинен, если файл с именем, указанным в качестве его единственного
параметра, существует, и ложен — в противном случае.
Эти предикаты, связывают символическое имя файла с физическим именем открываемого
файла.
Поскольку символ "\", обычно используемый для разделения имен каталогов, применяется
в Турбо Прологе для записи кодов символов, требуется использовать вместо одного
обратного слеша два ("\\"). Например, чтобы указать путь "C:\Prolog\BIN", нужно записать
строку "C:\\Prolog\\BIN".
Для того чтобы корректно закрыть открытый файл, используется предикат closefile. В
качестве его единственного параметра указывается символическое имя файла. Предикат в
любом случае успешен, даже если соответствующий файл не был открыт.С закрытым
файлом можно работать только целиком.
Предикат deletefile(OSFileName) удаляет файл, указанный в качестве его единственного
параметра. Если по какой-то причине удалить файл не получается, этот предикат выдает
сообщение об ошибке.
Предикат renamefile(OldOSFileName, NewOSFileName) изменяет имя файла, указанного
в качестве его первого параметра, на имя, указанное в качестве его второго параметра.
Если не существует файла, чье имя указано в первом параметре, или существует файл, чье
имя указано во втором параметре, предикат выдаст сообщение об ошибке.
Предикат eof(SymbolicFileName) (сокращение от End Of File — "конец файла") успешен,
если достигнут конец файла, в противном случае он неуспешен. В качестве его
единственного входного параметра указывается символическое имя файла. Он обычно
используется при организации рекурсивного считывания всех компонентов файла. Если
его попытаться применить к файлу, открытому на запись, будет выдано сообщение об
ошибке.
Предикат file_str(SymbolicFileName,String) целиком читает символы файла в строку или,
наоборот, записывает содержимое строки в файл, в зависимости от того, свободен ли
второй параметр этого предиката. Первым входным параметром этого предиката является
4