Difference between revisions of "Fs.open"
m (Fixed up some parts that weren't clear. fixed links to nil) |
m (Tidy up the mode parameter) |
||
Line 7: | Line 7: | ||
|desc= | |desc= | ||
'''Supported File Modes''' | '''Supported File Modes''' | ||
− | Opens a file | + | Opens a file. <var>mode</var> consists of a first character which is one of the following: |
− | "r" to open the file read-only, | + | * "r" to open the file read-only, |
− | + | * "w" to open it for writing and remove any existing data on file open, or | |
− | "w" to open it for writing and remove any existing data on file open, or | + | * "a" to open for writing but keep existing data and append any writes to the end of the file |
− | + | optionally followed by "b" to open the file for binary access instead of text access | |
− | "a" to open for writing but keep existing data and append any writes to the end of the file | + | |
− | + | ||
− | "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) | (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) | ||
Revision as of 19:19, 21 April 2013
Function 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
Example | |
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.
Function h.close | |
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.
Function h.readLine | |
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 |
Function h.readAll | |
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:
Function h.write | |
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 |
Function h.writeLine | |
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:
Function h.read | |
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:
Function h.write | |
Writes a single byte into the file | |
Syntax | h.write(int byte) |
Returns | nil |
Part of | ComputerCraft |
API | fs |