Portability | portable |
---|---|
Maintainer | jmillikin@gmail.com |
Deprecated alias for Filesystem.
- data Handle
- data IOMode
- = ReadMode
- | WriteMode
- | AppendMode
- | ReadWriteMode
- copyFile :: FilePath -> FilePath -> IO ()
- getModified :: FilePath -> IO UTCTime
- getSize :: FilePath -> IO Integer
- openFile :: FilePath -> IOMode -> IO Handle
- withFile :: FilePath -> IOMode -> (Handle -> IO a) -> IO a
- readFile :: FilePath -> IO ByteString
- writeFile :: FilePath -> ByteString -> IO ()
- appendFile :: FilePath -> ByteString -> IO ()
- openTextFile :: FilePath -> IOMode -> IO Handle
- withTextFile :: FilePath -> IOMode -> (Handle -> IO a) -> IO a
- readTextFile :: FilePath -> IO Text
- writeTextFile :: FilePath -> Text -> IO ()
- appendTextFile :: FilePath -> Text -> IO ()
Documentation
data Handle
Haskell defines operations to read and write characters from and to files,
represented by values of type Handle
. Each value of this type is a
handle: a record used by the Haskell run-time system to manage I/O
with file system objects. A handle has at least the following properties:
- whether it manages input or output or both;
- whether it is open, closed or semi-closed;
- whether the object is seekable;
- whether buffering is disabled, or enabled on a line or block basis;
- a buffer (whose length may be zero).
Most handles will also have a current I/O position indicating where the next
input or output operation will occur. A handle is readable if it
manages only input or both input and output; likewise, it is writable if
it manages only output or both input and output. A handle is open when
first allocated.
Once it is closed it can no longer be used for either input or output,
though an implementation cannot re-use its storage while references
remain to it. Handles are in the Show
and Eq
classes. The string
produced by showing a handle is system dependent; it should include
enough information to identify the handle for debugging. A handle is
equal according to ==
only to itself; no attempt
is made to compare the internal state of different handles for equality.
data IOMode
See System.IO.openFile
File operations
Copy a file to a new entry in the filesystem. If a file already exists at the new location, it will be replaced.
See: copyFile
Since: 0.1.1
File information
getModified :: FilePath -> IO UTCTimeSource
Get when the object at a given path was last modified.
Since: 0.2
getSize :: FilePath -> IO IntegerSource
Get the size of an object at a given path. For special objects like links or directories, the size is filesystem‐ and platform‐dependent.
Since: 0.2
Binary files
openFile :: FilePath -> IOMode -> IO HandleSource
Open a file in binary mode, and return an open Handle
. The Handle
should be hClose
d when it is no longer needed.
withFile
is easier to use, because it will handle the Handle
’s
lifetime automatically.
See: openBinaryFile
withFile :: FilePath -> IOMode -> (Handle -> IO a) -> IO aSource
Open a file in binary mode, and pass its Handle
to a provided
computation. The Handle
will be automatically closed when the
computation returns.
See: withBinaryFile
readFile :: FilePath -> IO ByteStringSource
Read in the entire contents of a binary file.
See: readFile
writeFile :: FilePath -> ByteString -> IO ()Source
Replace the entire contents of a binary file with the provided
ByteString
.
See: writeFile
appendFile :: FilePath -> ByteString -> IO ()Source
Append a ByteString
to a file. If the file does not exist, it will
be created.
See: appendFile
Text files
openTextFile :: FilePath -> IOMode -> IO HandleSource
Open a file in text mode, and return an open Handle
. The Handle
should be hClose
d when it is no longer needed.
withTextFile
is easier to use, because it will handle the
Handle
’s lifetime automatically.
See: openFile
withTextFile :: FilePath -> IOMode -> (Handle -> IO a) -> IO aSource
Open a file in text mode, and pass its Handle
to a provided
computation. The Handle
will be automatically closed when the
computation returns.
See: withFile
appendTextFile :: FilePath -> Text -> IO ()Source
Append Text
to a file. If the file does not exist, it will
be created.
See: appendFile