2012-05-23 3 views
10

Ich habe Probleme mit der Größe der Datei mit Lua. Ich erstelle eine Funktion Methode, dass, wenn die Dateigröße der Datei 743 bytes ist, dann wird die Datei gelöscht.Wie bekomme ich die Dateigröße und lösche die Datei in Lua?

Hier ist mein 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 

mir jemand über meinen Fall kann kann helfen?

Antwort

18

Die Größe ist gegeben durch myFile:seek("end").

Um die Datei zu löschen, verwenden Sie os.remove(path). Aber schließe die Datei zuerst.

+0

dank lhf für Ihre Antwort zu löschen, ich versuche zu 'print (myFile : suche ("end")) 'aber ich gott diese fehler in meiner corona' Runtime error ... ne \ meine dokumente \ singing idol final spiel \ freeplay.lua: 258: versuch benutze eine geschlossene datei stack Rückverfolgung: [C]:? [C]: in Funktion 'suchen' ... ne \ meine Dokumente \ Gesang Idol final Spiel \ freeplay.lua: 258: in Funktion 'getDLFile' ... ne \ meine d' – gadss

+1

@gadss, it scheint, dass Sie die Datei vor dem Suchen schließen, wenn Sie es nach dem Suchen schließen sollten. – lhf

+0

siehe hier http://www.lua.org/pil/21.3.html – frgtv10

Verwandte Themen