| Safe Haskell | Trustworthy |
|---|---|
| Language | Haskell2010 |
System.IO.Streams.Handle
Description
Input and output streams for file Handles.
- handleToInputStream :: Handle -> IO (InputStream ByteString)
- handleToOutputStream :: Handle -> IO (OutputStream ByteString)
- handleToStreams :: Handle -> IO (InputStream ByteString, OutputStream ByteString)
- inputStreamToHandle :: InputStream ByteString -> IO Handle
- outputStreamToHandle :: OutputStream ByteString -> IO Handle
- streamPairToHandle :: InputStream ByteString -> OutputStream ByteString -> IO Handle
- stdin :: InputStream ByteString
- stdout :: OutputStream ByteString
- stderr :: OutputStream ByteString
Handle conversions
handleToInputStream :: Handle -> IO (InputStream ByteString) Source #
Converts a read-only handle into an InputStream of strict ByteStrings.
Note that the wrapped handle is not closed when it yields end-of-stream;
you can use atEndOfInput to close the handle
if you would like this behaviour.
handleToOutputStream :: Handle -> IO (OutputStream ByteString) Source #
Converts a writable handle into an OutputStream of strict ByteStrings.
Note that the wrapped handle is not closed when it receives end-of-stream;
you can use atEndOfOutput to close the
handle if you would like this behaviour.
Note: to force the Handle to be flushed, you can write a null string to
the returned OutputStream:
Streams.write (Just "") os
handleToStreams :: Handle -> IO (InputStream ByteString, OutputStream ByteString) Source #
Converts a readable and writable handle into an 'InputStream'/'OutputStream'
of strict ByteStrings.
Note that the wrapped handle is not closed when it receives
end-of-stream; you can use
atEndOfOutput to close the handle
if you would like this behaviour.
Note: to force the Handle to be flushed, you can write a null string to
the returned OutputStream:
Streams.write (Just "") os
Since: 1.3.4.0.
inputStreamToHandle :: InputStream ByteString -> IO Handle Source #
Converts an InputStream over bytestrings to a read-only Handle. Note
that the generated handle is opened unbuffered in binary mode (i.e. no
newline translation is performed).
Note: the InputStream passed into this function is wrapped in
lockingInputStream to make it thread-safe.
Since: 1.0.2.0.
outputStreamToHandle :: OutputStream ByteString -> IO Handle Source #
Converts an OutputStream over bytestrings to a write-only Handle. Note
that the Handle will be opened in non-buffering mode; if you buffer the
OutputStream using the Handle buffering then io-streams will copy the
Handle buffer when sending ByteString values to the output, which might
not be what you want.
When the output buffer, if used, is flushed (using hFlush), an
empty string is written to the provided OutputStream.
Note: the OutputStream passed into this function is wrapped in
lockingOutputStream to make it thread-safe.
Since: 1.0.2.0.
streamPairToHandle :: InputStream ByteString -> OutputStream ByteString -> IO Handle Source #
Converts a pair of InputStream and OutputStream over bytestrings to a
read-write Handle.
Note: the streams passed into this function are wrapped in locking primitives to make them thread-safe.
Since: 1.0.2.0.
Standard system handles
stdin :: InputStream ByteString Source #
An InputStream for stdin.
stdout :: OutputStream ByteString Source #
An OutputStream for stdout.
stderr :: OutputStream ByteString Source #
An OutputStream for stderr.