How to get the file size and delete file in Lua?

2019-06-15 15:46发布

I have problem in getting the size of the file using Lua. I am creating a function method that if the file size of the file is 743 bytes, then the file will be deleted.

Here is my code :

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

Can anyone can help me about my case?

2条回答
Lonely孤独者°
2楼-- · 2019-06-15 16:26

Recently Lua File System support was added to Corona! You can get file size using

local lfs = require "lfs"
local size = lfs.attributes (path, "size")

You can have a read here http://keplerproject.github.com/luafilesystem/manual.html#reference

To delete the file use

os.remove(path)
查看更多
【Aperson】
3楼-- · 2019-06-15 16:28

The size is given by myFile:seek("end").

To delete the file, use os.remove(path). But close the file first.

查看更多
登录 后发表回答