Difference between revisions of "Io"
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | |||
<!-- GIDEROSOBJ:io --> | <!-- GIDEROSOBJ:io --> | ||
− | ''' | + | '''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform mac.png]][[File:Platform pc.png]][[File:Platform html5.png]][[File:Platform winrt.png]][[File:Platform win32.png]]<br/> |
− | ''' | + | '''Available since:''' Gideros 2011.6<br/> |
− | === | + | |
− | + | === Description === | |
− | === | + | Manages main input/output operations. |
− | ''' | + | |
− | < | + | === Examples === |
+ | '''Create a file with default values''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | local hex1 | ||
+ | local hex2 | ||
+ | local hex3 | ||
+ | local file = io.open("|D|theme.txt", "r") | ||
+ | if not file then | ||
+ | hex1 = 0x280d1d | ||
+ | hex2 = 0x581422 | ||
+ | hex3 = 0x622334 | ||
+ | file = io.open("|D|theme.txt", "w+") | ||
+ | file:write(hex1.."\n") | ||
+ | file:write(hex2.."\n") | ||
+ | file:write(hex3.."\n") | ||
+ | file:close() | ||
+ | else | ||
+ | hex1 = file:read("*line") | ||
+ | hex2 = file:read("*line") | ||
+ | hex3 = file:read("*line") | ||
+ | file:close() | ||
+ | end | ||
+ | print(hex1, hex2, hex3) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''To copy a file''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | local function copy(src, dst) | ||
local srcf = io.open(src, "rb") | local srcf = io.open(src, "rb") | ||
local dstf = io.open(dst, "wb") | local dstf = io.open(dst, "wb") | ||
− | local size = 2^13 | + | local size = 2^13 -- good buffer size (8K) |
while true do | while true do | ||
local block = srcf:read(size) | local block = srcf:read(size) | ||
Line 19: | Line 45: | ||
srcf:close() | srcf:close() | ||
dstf:close() | dstf:close() | ||
− | end</ | + | end |
+ | </syntaxhighlight> | ||
+ | |||
{|- | {|- | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === | + | === Methods === |
− | [[ | + | [[io.close]] ''closes file, or the default output file''<br/><!--GIDEROSMTD:io.close(file) closes file, or the default output file--> |
− | [[ | + | [[io.flush]] ''flushes the default output file''<br/><!--GIDEROSMTD:io.flush() flushes the default output file--> |
− | [[ | + | [[io.input]] ''opens file in text mode, sets as default input file, or returns current default input file''<br/><!--GIDEROSMTD:io.input(file) opens file in text mode, sets as default input file, or returns current default input file--> |
− | [[ | + | [[io.lines]] ''opens file in read mode, returns iterator function to return lines, nil ends''<br/><!--GIDEROSMTD:io.lines(filename) opens file in read mode, returns iterator function to return lines, nil ends--> |
− | [[ | + | [[io.open]] ''opens file in specified mode "[rawb]", returns handle or nil''<br/><!--GIDEROSMTD:io.open(filename,mode) opens file in specified mode "[rawb]", returns handle or nil--> |
− | [[ | + | [[io.output]] ''opens file in text mode, sets as default output file, or returns current default output file''<br/><!--GIDEROSMTD:io.output(file) opens file in text mode, sets as default output file, or returns current default output file--> |
− | [[ | + | [[io.read]] ''reads file according to given formats, returns read values or nil''<br/><!--GIDEROSMTD:io.read(format1,...) reads file according to given formats, returns read values or nil--> |
− | [[ | + | [[io.tmpfile]] ''returns a handle for a temporary file, opened in update mode''<br/><!--GIDEROSMTD:io.tmpfile() returns a handle for a temporary file, opened in update mode--> |
− | [[ | + | [[io.type]] ''returns "file" if obj is an open file handle, "close file" if closed, or nil if not a file handle''<br/><!--GIDEROSMTD:io.type(obj) returns "file" if obj is an open file handle, "close file" if closed, or nil if not a file handle--> |
− | [[ | + | [[io.write]] ''writes strings or numbers to file''<br/><!--GIDEROSMTD:io.write(value1,...) writes strings or numbers to file--> |
+ | |||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === | + | === Events === |
− | === | + | === Constants === |
|} | |} | ||
+ | |||
+ | {{GIDEROS IMPORTANT LINKS}} |
Latest revision as of 08:50, 7 August 2025
Supported platforms:
Available since: Gideros 2011.6
Description
Manages main input/output operations.
Examples
Create a file with default values
local hex1
local hex2
local hex3
local file = io.open("|D|theme.txt", "r")
if not file then
hex1 = 0x280d1d
hex2 = 0x581422
hex3 = 0x622334
file = io.open("|D|theme.txt", "w+")
file:write(hex1.."\n")
file:write(hex2.."\n")
file:write(hex3.."\n")
file:close()
else
hex1 = file:read("*line")
hex2 = file:read("*line")
hex3 = file:read("*line")
file:close()
end
print(hex1, hex2, hex3)
To copy a file
local function copy(src, dst)
local srcf = io.open(src, "rb")
local dstf = io.open(dst, "wb")
local size = 2^13 -- good buffer size (8K)
while true do
local block = srcf:read(size)
if not block then break end
dstf:write(block)
end
srcf:close()
dstf:close()
end
Methodsio.close closes file, or the default output file |
EventsConstants |