Difference between revisions of "Io"

From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
'''Supported platforms:''' android, ios, mac, pc<br/>
+
<!-- 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/>
 
'''Available since:''' Gideros 2011.6<br/>
 +
 
=== Description ===
 
=== Description ===
Manages main input/output operations
+
Manages main input/output operations.
 
+
 
 
+
=== Example ===
 
+
'''To copy a file'''
 
+
<syntaxhighlight lang="lua">
 
+
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
 +
</syntaxhighlight>
 +
 
 
{|-
 
{|-
| style="width: 50%;"|
+
| style="width: 50%; vertical-align:top;"|
 
=== Methods ===
 
=== Methods ===
[[io.close]] - closes file, or the default output file<br/>
+
[[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/>
+
[[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/>
+
[[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]] - open file in read mode, returns iterator function to return lines, nil ends<br/>
+
[[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/>
+
[[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/>
+
[[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/>
+
[[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/>
+
[[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/>
+
[[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/>
+
[[io.write]] ''writes strings or numbers to file''<br/><!--GIDEROSMTD:io.write(value1,...) writes strings or numbers to file-->
| style="width: 50%;"|
+
 
 +
| style="width: 50%; vertical-align:top;"|
 
=== Events ===
 
=== Events ===
 
=== Constants ===
 
=== Constants ===
 
|}
 
|}
 +
 +
{{GIDEROS IMPORTANT LINKS}}

Latest revision as of 14:30, 13 July 2023

Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2011.6

Description

Manages main input/output operations.

Example

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

Methods

io.close closes file, or the default output file
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
io.lines 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
io.output 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
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
io.write writes strings or numbers to file

Events

Constants