file-io-0.1.2: Basic file IO operations via 'OsPath'
Copyright(c) Julian Ospald 2023-2024
LicenseBSD3
Maintainerhasufell@posteo.de
Stabilitystable
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

System.File.OsPath

Description

This module mimics base API wrt file IO, but using OsPath.

Synopsis

Documentation

openBinaryFile :: OsPath -> IOMode -> IO Handle Source #

Like openFile, but open the file in binary mode. On Windows, reading a file in text mode (which is the default) will translate CRLF to LF, and writing will translate LF to CRLF. This is usually what you want with text files. With binary files this is undesirable; also, as usual under Microsoft operating systems, text mode treats control-Z as EOF. Binary mode turns off all special treatment of end-of-line and end-of-file characters. (See also hSetBinaryMode.)

withFile :: OsPath -> IOMode -> (Handle -> IO r) -> IO r Source #

Run an action on a file.

The Handle is automatically closed afther the action.

withFile' :: OsPath -> IOMode -> (Handle -> IO r) -> IO r Source #

Run an action on a file.

The Handle is not automatically closed to allow lazy IO. Use this with caution.

readFile :: OsPath -> IO ByteString Source #

The readFile function reads a file and returns the contents of the file as a ByteString. The file is read lazily, on demand.

readFile' :: OsPath -> IO ByteString Source #

The readFile' function reads a file and returns the contents of the file as a ByteString. The file is fully read before being returned.

writeFile :: OsPath -> ByteString -> IO () Source #

The computation writeFile file str function writes the lazy ByteString str, to the file file.

writeFile' :: OsPath -> ByteString -> IO () Source #

The computation writeFile file str function writes the strict ByteString str, to the file file.

appendFile :: OsPath -> ByteString -> IO () Source #

The computation appendFile file str function appends the lazy ByteString str, to the file file.

appendFile' :: OsPath -> ByteString -> IO () Source #

The computation appendFile file str function appends the strict ByteString str, to the file file.

openFile :: OsPath -> IOMode -> IO Handle Source #

Open a file and return the Handle.

openExistingFile :: OsPath -> IOMode -> IO Handle Source #

Open an existing file and return the Handle.