Spec-Zone.ru › Haskell 8

GHC.IO.Handle.FD

Авторские права (c) Университет Глазго 1994-2008
Лицензия см. libraries/base/LICENSE
Поддерживающий libraries@haskell.org
Стабильность внутренняя
Переносимость непереносимая
Безопасный Haskell Достоверный
Язык Haskell2010

Описание

Операции с файловыми дескрипторами (FD)

stdin :: Handle Исходный код

Обработчик, управляющий вводом из стандартного канала ввода программы Haskell.

stdout :: Handle Исходный код

Обработчик, управляющий выводом в стандартный канал вывода программы Haskell.

stderr :: Handle Исходный код

Обработчик, управляющий выводом в стандартный канал ошибок программы Haskell.

openFile :: FilePath -> IOMode -> IO Handle Исходный код

Вычисление openFile file mode выделяет и возвращает новый открытый обработчик для управления файлом file. Он управляет вводом, если mode является ReadMode, выводом, если mode является WriteMode или AppendMode, и вводом/выводом, если режим ReadWriteMode.

Если файл не существует и открыт для вывода, он должен быть создан как новый файл. Если mode равно WriteMode и файл уже существует, он должен быть усечен до нулевой длины. Некоторые операционные системы удаляют пустые файлы, поэтому нет гарантии, что файл будет существовать после openFile с mode WriteMode до тех пор, пока он не будет успешно записан. Обработчик позиционируется в конце файла, если mode является AppendMode, и в начале в противном случае (в этом случае его внутренняя позиция равна 0). Начальный режим буфера зависит от реализации.

Эта операция может завершиться ошибкой:

  • isAlreadyInUseError если файл уже открыт и не может быть повторно открыт;
  • isDoesNotExistError если файл не существует или (в системах POSIX) это FIFO без читателя и WriteMode был запрошен; или
  • isPermissionError если у пользователя нет разрешения на открытие файла.

Примечание: если вы работаете с файлами, содержащими двоичные данные, вам следует использовать openBinaryFile.

openBinaryFile :: FilePath -> IOMode -> IO Handle Исходный код

Аналогично openFile, но открывает файл в двоичном режиме. В Windows чтение файла в текстовом режиме (по умолчанию) переводит CRLF в LF, а запись переводит LF в CRLF. Это обычно то, что нужно для текстовых файлов. В двоичных файлах этого делать не нужно; также, как обычно в системах Microsoft, текстовый режим рассматривает символ управления Z как EOF. Двоичный режим отключает все специальное обращение с символами конца строки и конца файла. (См. также hSetBinaryMode.)

openFileBlocking :: FilePath -> IOMode -> IO Handle Исходный код

Аналогично openFile, но открывает файл в обычном блокирующем режиме. Это может быть полезно для открытия FIFO для записи: если мы откроем его в режиме без блокировки, открытие завершится ошибкой, если нет читателей, а блокирующее открытие будет ждать появления читателя.

С версии: base-4.4.0.0

mkHandleFromFD :: FD -> IODeviceType -> FilePath -> IOMode -> Bool -> Maybe TextEncoding -> IO Handle Исходный код

fdToHandle :: FD -> IO Handle Исходный код

Преобразование существующего файлового дескриптора в Handle. Используется различными внешними библиотеками для создания Handles.

Создаёт двоичный Handle. Это по историческим причинам; скорее всего, это должен быть текстовый Handle с кодировкой по умолчанию и переводом символов новой строки.

fdToHandle' :: CInt -> Maybe IODeviceType -> Bool -> FilePath -> IOMode -> Bool -> IO Handle Исходный код

Старый API, сохранённый для предотвращения разрыва совместимости с клиентами

handleToFd :: Handle -> IO FD Исходный код

Преобразование существующего Handle в файловый дескриптор. Эта функция вызывает IOError, если Handle не ссылается на файловый дескриптор.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/GHC-IO-Handle-FD.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API