Difference between revisions of "X File"

From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight")
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
<!-- GIDEROSOBJ:file -->
 
<!-- GIDEROSOBJ:file -->
'''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/>
+
'''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]][[File:Platform linux.png]]<br/>
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Available since:''' Gideros 2011.6<br/>
  
Line 7: Line 7:
 
A '''file''' object is usually returned by [[io.open]] used to manipulate (read and write) files in lua.
 
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'''
+
  '''NOTE:''' this page and other related ''file'' methods use an X before the name because '''file''' is reserved by '''MediaWiki'''
  
 
=== Examples ===
 
=== Examples ===
Line 37: Line 37:
 
copy("database.db", "|D|database.db")
 
copy("database.db", "|D|database.db")
 
end
 
end
</source>
+
</syntaxhighlight>
  
 
{|-
 
{|-

Latest revision as of 22:14, 24 January 2026

Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.pngPlatform linux.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 file is reserved by MediaWiki

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