io.open
Lua function io.open 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 ... 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 table functions Lua utilities Scripting 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) (Help topic: lua=io.open) Documentation contents page