Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
EzFileSourceinclude module type of struct include FileString endinclude FileSig.FILE_OPERATIONS with type t := stringinclude FileSig.FILENAME_OPERATIONS with type t := stringfind_in_path path filename searches a file in a list of directories.
include FileSig.CONTENT_OPERATIONS
with type in_file := string
and type out_file := stringread_file file returns the full content of file. If the file is opened, it is opened in binary mode, no conversion is applied.
write_file file content creates file file with content content. If the file is opened, it is opened in binary mode, no conversion is applied.
read_subfile file pos len returns a string containing len bytes read from file file at pos pos. If the file is opened, it is opened in binary mode. Raises End_of_file if the file is too short.
read_lines file returns the content of file as an array of lines. If the file is opened, it is opened in text mode.
read_lines_to_list file returns the content of file as a list of lines. If the file is opened, it is opened in text mode.
write_lines file lines creates the file file from an array of lines, using FileChannel.output_line for each line.
write_lines file lines creates the file file from a list of lines, using FileChannel.output_line for each line.
read_sublines file pos len returns at most len lines of the file file, starting at line pos. It differs from read_subfile in that it will not raise any exception if the file is too short. Note that it reads the file from beginning everytimes.
Same as read_sublines, but returns a list of strings.
iter_blocks f file reads the content of file file, and calls f buffer len on each chunk. The buffer is reused, and only the first len bytes are from the file. Chunks have a maximal size of 32768.
iter_lines f file calls f line on all the lines line of the file file.
iteri_lines f file calls f line_num line on every line line of the file file, with line_num the line number, starting with line 0.
copy_file src dst copy all the content remaining in file src to file dst.
include FileSig.DIRECTORY_OPERATIONS with type t := stringThis exception is raised when one of the following functions is called with a non-directory argument
make_dir ?mode ?p filename creates a directory filename, if it does not already exist. It fails with NotADirectory if the file already exists, but is not a directory. The mode argument is the Unix permissions (0o755 by default). The p argument controls whether parents directories should be created as well, if they don't exist, instead of failing.
remove_dir ?all filename removes directory filename, or complains the NotADirectory if it does not exist. The all argument controls whether the function should recursively remove all files and sub-directories included as well. If glob is specified, it is called to select files to remove, and the directories are not deleted even if all is true.
val select :
?deep:bool ->
?dft:[ `After | `Before ] ->
?glob:string ->
?filter:(bool -> string -> string -> bool) ->
?follow_links:bool ->
?error:(exn -> string -> string -> unit) ->
unit ->
string FileSelector.tselect ?deep ?dft ?glob ?filter ?follow_links ?error () creates a selctor to customize a file iterator.
The deep and dft arguments controls whether function should recurse in sub-directories. If deep is true, and ~dft is not specified, the files are listed in breadth-first mode (a,b,a/x,b/x,a/x/y for example). If ~dft is `Before, the files are listed in depth-first mode, and the ancestors are before their children. If ~dft is `After, the are after their children.
The glob argument can be used to filter the basenames of files with a regular expression.
The filter argument is called as filter is_dir basename path where is_dir is set when checking whether to enter or not into a sub-directory, basename is the basename of the file and path is the path starting with a '/', yet relative to the initial directory. filter is called on every file with is_dir false to decide whether it should be added or not, and only on sub-directories with is_dir true to decide whether to enter or not if deep is true.
The follow_links argument is used to decide if a link to directory should be followed (when deep is also set).
The error argument is called when an error occurs, with error exn path filename.
read_dir ?select filename returns the files contained in the directory filename.
In a directory, files are sorted in lexicographical order of their names.
Same as read_dir, but returns a list instead of an array
val iter_dir :
?select:string FileSelector.t ->
(basename:string -> localpath:string -> file:string -> unit) ->
string ->
unitSame as read_dir, but calls a function on every file and directory with the basename, the relative path (yet, starting with a '/') and the filename (i.e. the directory name concatenated with the relative path): f basename path file. It is not equivalent to using read_dir and then itering on the result, as iter_dir the function is called during the traversal, not after.
iterator ?select dir creates an iterator on directory dir. The iterator is a function that returns None when finished, or Some (path, filename) with the next file to iter on.
mkdir filename mode simply creates the directory filename with permissions mode.
readdir filename returns the files contained in directory filename as an array of strings. The strings are sorted in lexicographical order.
rmdir filename removes directory filename, or fails if it does not exist or is not a directory.
cut_at_last_extension file returns a pair before_ext,extension, where extension is the last extension, converted to lowercase, and without the initial dot, and before_ext everything before the last dot.
extensions_of_basename basename returns the list of extensions of the file. The argument must only contain the basename of the file, otherwise the dot may belong to a parent directory.