W3cubDocs

/Haskell 9

System.File.OsPath.Internal

Safe Haskell None
Language Haskell2010

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.

withBinaryFile :: OsPath -> IOMode -> (Handle -> IO r) -> IO r Source

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.

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

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.

openFileWithCloseOnExec :: OsPath -> IOMode -> IO Handle Source

Open a file and return the Handle.

Sets O_CLOEXEC on posix.

Since: file-io-0.1.2

openExistingFileWithCloseOnExec :: OsPath -> IOMode -> IO Handle Source

Open an existing file and return the Handle.

Sets O_CLOEXEC on posix.

Since: file-io-0.1.2

openTempFile Source

Arguments

:: OsPath

Directory in which to create the file

-> OsString

File name template. If the template is "foo.ext" then the created file will be "fooXXX.ext" where XXX is some random number. Note that this should not contain any path separator characters. On Windows, the template prefix may be truncated to 3 chars, e.g. "foobar.ext" will be "fooXXX.ext".

-> IO (OsPath, Handle)

The function creates a temporary file in ReadWrite mode. The created file isn't deleted automatically, so you need to delete it manually.

The file is created with permissions such that only the current user can read/write it.

With some exceptions (see below), the file will be created securely in the sense that an attacker should not be able to cause openTempFile to overwrite another file on the filesystem using your credentials, by putting symbolic links (on Unix) in the place where the temporary file is to be created. On Unix the O_CREAT and O_EXCL flags are used to prevent this attack, but note that O_EXCL is sometimes not supported on NFS filesystems, so if you rely on this behaviour it is best to use local filesystems only.

Since: file-io-0.1.3

openBinaryTempFile :: OsPath -> OsString -> IO (OsPath, Handle) Source

Like openTempFile, but opens the file in binary mode. See openBinaryFile for more comments.

Since: file-io-0.1.3

openTempFileWithDefaultPermissions :: OsPath -> OsString -> IO (OsPath, Handle) Source

Like openTempFile, but uses the default file permissions

Since: file-io-0.1.3

openBinaryTempFileWithDefaultPermissions :: OsPath -> OsString -> IO (OsPath, Handle) Source

Like openBinaryTempFile, but uses the default file permissions

Since: file-io-0.1.3

handleFinalizer :: FilePath -> MVar Handle__ -> IO () Source

type HandleFinalizer = FilePath -> MVar Handle__ -> IO () Source

addHandleFinalizer :: Handle -> HandleFinalizer -> IO () Source

Add a finalizer to a Handle. Specifically, the finalizer will be added to the MVar of a file handle or the write-side MVar of a duplex handle. See Handle Finalizers for details.

withOpenFile' :: OsPath -> IOMode -> Bool -> Bool -> Bool -> (Handle -> IO r) -> Bool -> IO r Source

addFilePathToIOError :: String -> OsPath -> IOException -> IOException Source

augmentError :: String -> OsPath -> IO a -> IO a Source

openTempFile' :: String -> OsPath -> OsString -> Bool -> CMode -> IO (OsPath, Handle) Source

any_ :: (OsChar -> Bool) -> OsString -> Bool Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/file-io-0.1.5-13a1/System-File-OsPath-Internal.html