file:close ()
Closes file
.
Note that files are automatically closed when
their handles are garbage collected,
but that takes an unpredictable amount of time to happen.
file:flush ()
Saves any written data to file
.
file:lines ()
Returns an iterator function that, each time it is called, returns a new line from the file. Therefore, the construction
for line in file:lines() do body end
will iterate over all lines of the file.
(Unlike io.lines
, this function does not close the file
when the loop ends.)
file:read (···)
Reads the file file
,
according to the given formats, which specify what to read.
For each format,
the function returns a string (or a number) with the characters read,
or nil if it cannot read data with the specified format.
When called without formats,
it uses a default format that reads the entire next line
(see below).
The available formats are
file:seek ([whence] [, offset])
Sets and gets the file position,
measured from the beginning of the file,
to the position given by offset
plus a base
specified by the string whence
, as follows:
In case of success, function seek
returns the final file position,
measured in bytes from the beginning of the file.
If this function fails, it returns nil,
plus a string describing the error.
The default value for whence
is "cur"
,
and for offset
is 0.
Therefore, the call file:seek()
returns the current
file position, without changing it;
the call file:seek("set")
sets the position to the
beginning of the file (and returns 0);
and the call file:seek("end")
sets the position to the
end of the file, and returns its size.
file:setvbuf (mode [, size])
Sets the buffering mode for an output file. There are three available modes:
flush
the file
(see io.flush
)).
For the last two cases, size
specifies the size of the buffer, in bytes.
The default is an appropriate size.
file:write (···)
Writes the value of each of its arguments to
the file
.
The arguments must be strings or numbers.
To write other values,
use tostring
or string.format
before write
.