Legend:
Library
Module
Module type
Parameter
Class
Class type
IO Utils
Simple utilities to deal with basic Input/Output tasks in a resource-safe way. For advanced IO tasks, the user is advised to use something like Lwt or Async, that are far more comprehensive.
Examples:
obtain the list of lines of a file:
# let l = CCIO.(with_in "/tmp/some_file" read_lines);;
transfer one file into another:
# CCIO.(
with_in "/tmp/input"
(fun ic ->
let chunks = read_chunks ic in
with_out ~flags:[Open_binary] ~mode:0o644 "/tmp/output"
(fun oc ->
write_gen oc chunks
)
)
) ;;
since 0.6
before0.12
was in 'containers.io', now moved into 'containers'
val with_in :
?mode:int ->?flags:Stdlib.open_flag list->string ->(Stdlib.in_channel ->'a)->'a
Open an input file with the given optional flag list, calls the function on the input channel. When the function raises or returns, the channel is closed.
raisesSys_error
in case of error (same as open_in and close_in).
parameterflags
opening flags (default [Open_text]). Open_rdonly is used in any cases.
val read_chunks : ?size:int ->Stdlib.in_channel ->string gen
Read the channel's content into chunks of size size.
val read_line : Stdlib.in_channel ->string option
Read a line from the channel. Returns None if the input is terminated. The "\n" is removed from the line.