-
batteries
-
batteriesThread
Library
Module
Module type
Parameter
Class
Class type
File manipulation.
- author David Teller
Utilities
val lines_of : string -> string BatEnum.t
lines_of name
reads the contents of file name
as an enumeration of lines. The file is automatically closed once the last line has been reached or the enumeration is garbage-collected.
count_lines filename
count the number of lines in given file. Lines are read by the stdlib's input_line function.
- since 3.1.0
val write_lines : string -> string BatEnum.t -> unit
write_lines name lines
writes strings given by lines
to file name
with newline character appended to each line.
val size_of_big : string -> Int64.t
size_of_big name
returns the size of file name
in bytes, as a 64-bit integer.
This function is provided as the size of a file larger than 1 Gb cannot be represented with an int
on a 32-bit machine.
File permissions
File permissions are used when creating a file to allow controlling which users may read, write or open that file. To use a permission, create a value of type permission
and pass it as argument to open_in
, open_out
, with_file_in
or with_file_out
.
val default_permission : permission
Default permissions.
val user_read : permission
Give the current user permission to read the file. Ignored under Windows.
val user_write : permission
Give the current user permission to write the file
val user_exec : permission
Give the current user permission to execute the file. Ignored under Windows.
val group_read : permission
Give the permission to read the file to the group containing the user. Ignored under Windows.
val group_write : permission
Give the permission to write the file to the group containing the user. Ignored under Windows.
val group_exec : permission
Give the permission to execute the file to the group containing the user. Ignored under Windows.
val other_read : permission
Give the permission to read the file to the rest of the world. Ignored under Windows.
val other_write : permission
Give the permission to modify the file to the rest of the world. Ignored under Windows.
val other_exec : permission
Give the permission to execute the file to the rest of the world. Ignored under Windows.
val perm : permission list -> permission
Join permissions
val unix_perm : int -> permission
Create a permission from a Unix-style octal integer. See your favorite Unix documentation on chmod
for more details.
- raises Invalid_argument
if given number outside the
[0, 0o777]
range
val set_permissions : string -> permission -> unit
Set the permissions on a file.
val chmod : string -> permission -> unit
Opening a file for reading
val open_in :
?mode:open_in_flag list ->
?perm:permission ->
string ->
BatInnerIO.input
open_in file_name
opens the file named file_name
for reading.
Note You will need to close the file manually, with BatIO.close_in
. An alternative is to call with_file_in
instead of open_in
.
Naming conventions for files are platform-dependent.
val with_file_in :
?mode:open_in_flag list ->
?perm:permission ->
string ->
(BatInnerIO.input -> 'a) ->
'a
with_file_in file_name f
opens the file named file_name
for reading, invokes f
to process the contents of that file then, once f
has returned or triggered an exception, closes the file before proceeding.
Opening a file for writing
Flags governing file output; they correspond to the relevant flags to the POSIX open()
call. The default flags are [`create; `trunc]
.
val open_out :
?mode:open_out_flag list ->
?perm:permission ->
string ->
unit BatInnerIO.output
open_out file_name
opens the file named file_name
for writing.
Note You will need to close the file manually, with BatIO.close_out
. An alternative is to call with_file_out
instead of open_out
.
Naming conventions for files are platform-dependent.
val with_file_out :
?mode:open_out_flag list ->
?perm:permission ->
string ->
(unit BatInnerIO.output -> 'a) ->
'a
with_file_out file_name f
opens the file named file_name
for writing, invokes f
to write onto that file then, once f
has returned or triggered an exception, closes the file before proceeding.
Opening a temporary file for writing
val open_temporary_out :
?mode:open_temporary_out_flag list ->
?prefix:string ->
?suffix:string ->
?temp_dir:string ->
unit ->
unit BatInnerIO.output * string
open_temporary_out ()
opens a new temporary file for writing.
- parameter prefix
a string which should appear at the start of your temporary file name (by default
"ocaml"
)
- parameter suffix
a string which should appear at the end of your temporary file name (by default
"tmp"
)
- parameter temp_dir
indicates what temp dir to use
- returns
The name of the file and the
output
for writing in it.Note You will need to close the file manually. An alternative is to call
with_temporary_out
instead ofopen_out
.Naming conventions for files are platform-dependent.
val with_temporary_out :
?mode:open_temporary_out_flag list ->
?prefix:string ->
?suffix:string ->
?temp_dir:string ->
(unit BatInnerIO.output -> string -> 'a) ->
'a
with_temporary_out f
opens a new temporary file for writing, invokes f
with to write onto that file then, once f
has returned or triggered an exception, closes the file before proceeding.
- parameter prefix
a string which should appear at the start of your temporary file name (by default
"ocaml"
)
- parameter suffix
a string which should appear at the end of your temporary file name (by default
"tmp"
)
- parameter temp_dir
indicates what temp dir to use
- returns
The name of the file and the
output
for writing in it.Naming conventions for files are platform-dependent.