Summary
Opens a file
Prototype
f = io.open (filename, mode)
Description
Opens a file and returns a file handle for working with it.
Modes can be a string which is:
r - read mode
w - write mode (overwrites existing)
a - append mode (appends to existing)
b - binary mode
r+ - update mode (existing data preserved)
w+ - update mode (existing data erased)
a+ - append update mode (existing data preserved, append at end of file only)
If the file cannot be opened this function does not raise an error (unlike io.input and io.output) but returns 3 things:
nil
An error message (string)
An error code (number)
Thus a sensible thing to do is wrap the io.open call with an assert, as in the example:
f = assert (io.open ("test.txt", "r")) -- open it
s = f:read ("*a") -- read all of it
print (s) -- print out
f:close () -- close it
See Also ...
Lua functions
f:close - Closes a file
f:flush - Flushes outstanding data to disk
f:lines - Returns an iterator function for reading the file line-by-line
f:read - Reads the file according to the specified formats
f:seek - Sets and gets the current file position
f:setvbuf - Sets the buffering mode for an output file
f:write - Writes to a file
io.close - Closes a file
io.flush - Flushes outstanding data to disk for the default output file
io.input - Opens filename for input in text mode
io.lines - Returns an iterator function for reading a named file line-by-line
io.output - Opens a file for output
io.popen - Creates a pipe and executes a command
io.read - Reads from the default input file
io.stderr - File handle for standard error file
io.stdin - File handle for standard input file
io.stdout - File handle for standard output file
io.tmpfile - Returns a handle to a temporary file
io.type - Returns type of file handle
io.write - Writes to the default output file
Topics
Lua base functions
Lua bc (big number) functions
Lua bit manipulation functions
Lua coroutine functions
Lua debug functions
Lua io functions
Lua math functions
Lua os functions
Lua package functions
Lua PCRE regular expression functions
Lua script extensions
Lua string functions
Lua syntax
Lua table functions
Lua utilities
Scripting
Scripting callbacks - plugins
(Help topic: lua=io.open)