2012-05-23 14 views
10

Tengo un problema para obtener el tamaño del archivo usando Lua. Estoy creando un método de función que si el tamaño del archivo es 743 bytes, entonces el archivo será eliminado.¿Cómo obtener el tamaño de archivo y eliminar el archivo en Lua?

Aquí está mi código:

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 

Puede alguien me puede ayudar en mi caso?

Respuesta

18

El tamaño viene dado por myFile:seek("end").

Para eliminar el archivo, use os.remove(path). Pero cierra el archivo primero.

+0

LHF gracias por su respuesta, trato de 'impresión (myFile : seek ("end")) 'pero me dios estos error en mi corona' Runtime error ... ne \ my documents \ singing idol juego final \ freeplay.lua: 258: intento de utilizar un archivo cerrado pila traceback: [C]:? [C]: en la función 'buscar' ... ne \ my documents \ singing idol juego final \ freeplay.lua: 258: en la función 'getDLFile' ... ne \ my d' – gadss

+1

@gadss, it parece que está cerrando el archivo antes de buscar cuándo debería cerrarlo * después de * buscar. – lhf

+0

ver aquí http://www.lua.org/pil/21.3.html – frgtv10

Cuestiones relacionadas