GHC.IO.Handle.FD
| Авторские права | (c) Университет Глазго, 1994-2008 |
|---|---|
| Лицензия | см. libraries/base/LICENSE |
| Поддержка | libraries@haskell.org |
| Устойчивость | внутренняя |
| Переносимость | непереносимая |
| Безопасный Haskell | Надёжный |
| Язык | Haskell2010 |
Описание
Операции с потоком, реализованные с помощью дескрипторов файлов (FD)
Поток, управляющий вводом из стандартного канала ввода программы Haskell.
Поток, управляющий выводом в стандартный канал вывода программы Haskell.
Поток, управляющий выводом в стандартный канал ошибок программы Haskell.
openFile :: Путь -> Режим -> IO Поток Источник
Вычисление openFile file mode выделяет и возвращает новый открытый поток для управления файлом file. Он управляет вводом, если mode является ReadMode, выводом, если mode является WriteMode или AppendMode, и вводом/выводом, если режим ReadWriteMode.
Если файл не существует и он открывается для вывода, он должен быть создан как новый файл. Если mode является WriteMode и файл уже существует, он должен быть обнулен до нулевой длины. Некоторые операционные системы удаляют пустые файлы, поэтому нет гарантии, что файл будет существовать после openFile с mode WriteMode, если он не будет успешно записан впоследствии. Поток позиционируется в конце файла, если mode является AppendMode, а в противном случае в начале (в этом случае его внутренняя позиция равна 0). Начальный режим буфера зависит от реализации.
Эта операция может завершиться ошибкой:
-
isAlreadyInUseErrorесли файл уже открыт и не может быть повторно открыт; -
isDoesNotExistErrorесли файл не существует; или -
isPermissionErrorесли у пользователя нет разрешения на открытие файла.
Примечание: если вы работаете с файлами, содержащими двоичные данные, вам следует использовать openBinaryFile.
openBinaryFile :: Путь -> Режим -> IO Поток Источник
Подобно openFile, но открывает файл в двоичном режиме. В Windows чтение файла в текстовом режиме (который является стандартным) приведет к преобразованию CRLF в LF, а запись — к преобразованию LF в CRLF. Это обычно необходимо для текстовых файлов. В двоичных файлах это нежелательно; также, как обычно в системах Microsoft, текстовый режим обрабатывает символ Control-Z как EOF. Двоичный режим отключает все специальное обращение с символами конца строки и конца файла. (См. также hSetBinaryMode.)
openFileBlocking :: Путь -> Режим -> IO Поток Источник
Подобно openFile, но открывает файл в обычном блокирующем режиме. Это может быть полезно для открытия FIFO для чтения: если мы откроем в режиме без блокировки, то открытие завершится ошибкой, если нет писателей, в то время как блокирующее открытие будет ждать, пока появится писатель.
С версии: 4.4.0.0
mkHandleFromFD :: FD -> Тип устройства ввода-вывода -> Путь -> Режим -> Логическое -> Возможность Кодировка текста -> IO Поток Источник
fdToHandle :: FD -> IO Поток Источник
Преобразование существующего дескриптора файла в поток. Это используется различными внешними библиотеками для создания потоков.
Создаёт двоичный поток. Это по историческим причинам; вероятно, следует создавать текстовый поток с используемой по умолчанию кодировкой и переводом символов новой строки.
fdToHandle' :: CInt -> Возможность Тип устройства ввода-вывода -> Логическое -> Путь -> Режим -> Логическое -> IO Поток Источник
Старый API, сохранённый для совместимости со старыми клиентами.
isEOF :: IO Логическое Источник
Вычисление isEOF идентично hIsEOF, за исключением того, что оно работает только с stdin.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/GHC-IO-Handle-FD.html