fs.open
| Supported File Modes
Opens a file. mode consists of a first character which is one of the following:
optionally followed by "b" to open the file for binary access instead of text access (text mode will perform end-of-line conversions necessary to move text files between Windows, Linux, and Mac OS systems; binary files should not have these conversions applied as they will be corrupted) When you have opened a file you must always close the file handle, or else data will not be saved. | |
| Syntax | fs.open(string path, string mode) |
| Returns | Table the file handle, or nil if the mode was read-only and the file did not exist |
| Part of | ComputerCraft |
| API | fs |
Contents
Examples
| Creates the file "abcd" for writing, and holds a file handle to it | |
| Code |
h = fs.open("abcd", "w")
|
File Handles
A file handle allows access to a file. A file handle is a table; the functions within the table are accessed with the dot operator (not the colon operator, as may be more intuitive!). The examples below assume a file has already been opened and the handle stored in the variable h.
Closing a file handle
When you open a file you must remember to then close the handle! With the write modes supported by ComputerCraft all the data that you are writing to a file will not be written into the file until you close the file. A file opened in any mode exposes the following close function.
| Closes the file handle, after which it can no longer be used | |
| Syntax | h.close() |
| Returns | nil |
| Part of | ComputerCraft |
| API | fs |
Files opened in text read mode
A file opened in mode "r" (text read mode) exposes the following functions.
| Reads the next line from the file | |
| Syntax | h.readLine() |
| Returns | string the next line read from the file, with the end-of-line character stripped; or nil if there are no more lines in the file |
| Part of | ComputerCraft |
| API | fs |
| Reads the all the text in the file | |
| Syntax | h.readAll() |
| Returns | string the entire rest of the file, with the end-of-line character on the very last line (if present) stripped |
| Part of | ComputerCraft |
| API | fs |
Files opened in text write/append mode
A file opened in mode "w" (text write mode) or "a" (text append mode) exposes the following functions:
| Writes a string of characters to the file exactly as they appear in the string data | |
| Syntax | h.write(string data) |
| Returns | nil |
| Part of | ComputerCraft |
| API | fs |
| Writes a string of characters to the file, then appends an end-of-line character | |
| Syntax | h.writeLine(string data) |
| Returns | nil |
| Part of | ComputerCraft |
| API | fs |
Files opened in binary read mode
A file opened in mode "rb" (binary read mode) exposes the following functions:
| Reads a single byte from the file and returns it | |
| Syntax | h.read() |
| Returns | int the byte read from the file, or nil if there are no more bytes |
| Part of | ComputerCraft |
| API | fs |
Files opened in binary write/append mode
A file opened in mode "wb" (binary write mode) or "ab" (binary append mode) exposes the following functions:
| Writes a single byte into the file | |
| Syntax | h.write(int byte) |
| Returns | nil |
| Part of | ComputerCraft |
| API | fs |