Wie extrahiere ich Dateien mit Lua?Wie extrahiert man Dateien aus einer Zip-Datei mit Lua?
Update: Ich habe jetzt den folgenden Code, aber es stürzt jedes Mal ab, wenn es das Ende der Funktion erreicht, aber es extrahiert erfolgreich alle Dateien und legt sie an der richtigen Stelle.
require "zip"
function ExtractZipAndCopyFiles(zipPath, zipFilename, destinationPath)
local zfile, err = zip.open(zipPath .. zipFilename)
-- iterate through each file insize the zip file
for file in zfile:files() do
local currFile, err = zfile:open(file.filename)
local currFileContents = currFile:read("*a") -- read entire contents of current file
local hBinaryOutput = io.open(destinationPath .. file.filename, "wb")
-- write current file inside zip to a file outside zip
if(hBinaryOutput)then
hBinaryOutput:write(currFileContents)
hBinaryOutput:close()
end
end
zfile:close()
end
-- call the function
ExtractZipAndCopyFiles("C:\\Users\\bhannan\\Desktop\\LUA\\", "example.zip", "C:\\Users\\bhannan\\Desktop\\ZipExtractionOutput\\")
Warum es jedes Mal nicht abstürzen das Ende erreicht?
Ich glaube nicht, das wird funktionieren. Ich möchte die Dateien in der ZIP-Datei extrahieren und nicht nur die Dateien in der ZIP-Datei anzeigen. –
Extraktion ist der Prozess des Lesens aus dem Archiv und Schreiben in das Dateisystem. Brauchen Sie Anweisungen zum Schreiben in Ihr Dateisystem? Wenn ja, sehen Sie sich bitte die Module Lua 'io' und' os' an. –
Also müsste ich jede Datei lesen und schreiben? Vielleicht ist es besser, wenn ich einen Windows-Systemaufruf mache, um die Dateien zu entpacken. –