我在使用Lua获取文件大小时遇到问题。我正在创建一个函数方法,如果文件的文件大小是743 bytes
,那么该文件将被删除。
这是我的代码:
local getDLFile = function(fileToDL)
local path = system.pathForFile(fileToDL, system.DocumentsDirectory )
local myFile = io.open( path, "w+b" )
http.request{
url = "http://www.testfile.com/"..fileToDL,
sink = ltn12.sink.file(myFile),
}
-- i don't know what is the syntax
if myFile.size == 743 bytes then
myFile.delete
end
end
任何人都可以帮我解决我的情况吗?
答案 0 :(得分:22)
大小由myFile:seek("end")
给出。
要删除文件,请使用os.remove(path)
。但请先关闭文件。
答案 1 :(得分:8)
最近Lua文件系统支持被添加到Corona! 您可以使用
获取文件大小local lfs = require "lfs"
local size = lfs.attributes (path, "size")
你可以在这里阅读 http://keplerproject.github.com/luafilesystem/manual.html#reference
要删除文件,请使用
os.remove(path)
答案 2 :(得分:0)
我很可能会错过一些确实很明显的东西,但是为什么不使用args[1]
(在函数外部)呢?它应该返回正在运行的文件的完整路径,包括文件名和.lua扩展名。