Difference between revisions of "X File"

From GiderosMobile
 
(2 intermediate revisions by 2 users not shown)
Line 10: Line 10:
  
 
=== Examples ===
 
=== Examples ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
--function to copy file
 
--function to copy file
 
local function copy(src, dst)
 
local function copy(src, dst)
Line 37: Line 37:
 
copy("database.db", "|D|database.db")
 
copy("database.db", "|D|database.db")
 
end
 
end
</source>
+
</syntaxhighlight>
  
 
{|-
 
{|-
Line 44: Line 44:
 
[[x_file:close|file:close]] ''closes file''<br/><!--GIDEROSMTD:file:close() closes file-->
 
[[x_file:close|file:close]] ''closes file''<br/><!--GIDEROSMTD:file:close() closes file-->
 
[[x_file:flush|file:flush]] ''saves any written data to file''<br/><!--GIDEROSMTD:file:flush() saves any written data to file-->
 
[[x_file:flush|file:flush]] ''saves any written data to file''<br/><!--GIDEROSMTD:file:flush() saves any written data to file-->
[[x_file:lines|file:lines]] ''returns iterator function to return lines, nil ends''<br/><!--GIDEROSMTD:file:lines() returns iterator function to return lines, nil ends-->
+
[[x_file:lines|file:lines]] ''returns an iterator function''<br/><!--GIDEROSMTD:file:lines() returns an iterator function-->
 
[[x_file:read|file:read]] ''reads file according to given formats, returns read values or nil''<br/><!--GIDEROSMTD:file:read(format1,...) reads file according to given formats, returns read values or nil-->
 
[[x_file:read|file:read]] ''reads file according to given formats, returns read values or nil''<br/><!--GIDEROSMTD:file:read(format1,...) reads file according to given formats, returns read values or nil-->
[[x_file:seek|file:seek]] ''sets file pos, whence="set"|"cur"|"end", defaults "curr",0, returns file pos''<br/><!--GIDEROSMTD:file:seek(whence,offset) sets file pos, whence="set"|"cur"|"end", defaults "curr",0, returns file pos-->
+
[[x_file:seek|file:seek]] ''sets file seek pos''<br/><!--GIDEROSMTD:file:seek(whence,offset) sets file seek pos, whence="set"|"cur"|"end", defaults "curr",0, returns file pos-->
 
[[x_file:write|file:write]] ''writes strings or numbers to file''<br/><!--GIDEROSMTD:file:write(value1,...) writes strings or numbers to file-->
 
[[x_file:write|file:write]] ''writes strings or numbers to file''<br/><!--GIDEROSMTD:file:write(value1,...) writes strings or numbers to file-->
  

Latest revision as of 07:54, 4 November 2023

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

Description

A file object is usually returned by io.open used to manipulate (read and write) files in lua.

NOTE: this page and other related file methods use an X before the name because wiki forbids creating pages starting with file

Examples

--function to copy 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

--function to check if file exists
local function exists(file)
	local f = io.open(file, "rb")
	if f == nil then return false end
	f:close() return true
end

--usage
if not exists("|D|database.db") then
	copy("database.db", "|D|database.db")
end

Methods

file:close closes file
file:flush saves any written data to file
file:lines returns an iterator function
file:read reads file according to given formats, returns read values or nil
file:seek sets file seek pos
file:write writes strings or numbers to file

Events

Constants