File IO
At some point, programs will need to work with persistent data. This section explores writing and reading data to and from the hard drive. Lua provides facilities to read and write files through its io
library. A file doesn't have to contain textual data; you can store data as a binary representation. Reading and writing binary data with Lua is also possible.
Opening a file
When writing to a file or reading from a file, that file needs to be opened first. Lua provides the io.open
function to open files. On success, the io.open
function will return a file handle. On failure, it will return nil
:
file = io.open("my_file.txt"); -- Opens existing file in read only mode
The preceding line of code will open a file in read-only mode. What if you want to write to a file? The io.open
function takes an optional second argument, which is a string. This optional second argument controls the mode in which the file will be opened. Valid values are as follows:
"r"
: Read-only mode will let you read the...