Module CCIO.File

type t = string

A file should be represented by its absolute path, but currently this is not enforced.

val to_string : t ‑> string
val make : string ‑> t

Build a file representation from a path (absolute or relative).

val exists : t ‑> bool
val is_directory : t ‑> bool
val remove_exn : t ‑> unit

remove_exn path tries to remove the file at path from the file system.

val remove : t ‑> unit or_error

Like remove_exn but with an error monad.

val remove_noerr : t ‑> unit

Like remove_exn but do not raise any exception on failure.

val read_dir : ?⁠recurse:bool ‑> t ‑> t gen

read_dir d returns a sequence of files and directory contained in the directory d (or an empty stream if d is not a directory).

val read_exn : t ‑> string

Read the content of the given file, or raises some exception.

val read : t ‑> string or_error

Read the content of the given file.

val append_exn : t ‑> string ‑> unit

Append the given string into the given file, possibly raising.

val append : t ‑> string ‑> unit or_error

Append the given string into the given file.

val write_exn : t ‑> string ‑> unit

Write the given string into the given file, possibly raising.

val write : t ‑> string ‑> unit or_error

Write the given string into the given file.

type walk_item = [ `File | `Dir ] * t
val walk : t ‑> walk_item gen

Similar to read_dir (with recurse=true), this function walks a directory recursively and yields either files or directories. Is a file anything that doesn't satisfy is_directory (including symlinks, etc.)

val walk_l : t ‑> walk_item list

Like walk but returns a list (therefore it's eager and might take some time on large directories).

val show_walk_item : walk_item ‑> string
val with_temp : ?⁠temp_dir:string ‑> prefix:string ‑> suffix:string ‑> (string ‑> 'a) ‑> 'a

with_temp ~prefix ~suffix f will call f with the name of a new temporary file (located in temp_dir). After f returns, the file is deleted. Best to be used in combination with with_out. See Filename.temp_file.