Comment extraire des fichiers en utilisant Lua?Comment extraire des fichiers d'un fichier zip en utilisant Lua?
Mise à jour: J'ai maintenant le code suivant, mais il se bloque chaque fois qu'il atteint la fin de la fonction, mais il extrait avec succès tous les fichiers et les place au bon endroit.
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\\")
Pourquoi planter à chaque fois qu'il arrive à la fin?
Je ne crois pas que cela fonctionnera. Je veux vraiment extraire les fichiers dans le zip, pas seulement voir les fichiers dans le zip. –
L'extraction est le processus de lecture de l'archive et d'écriture dans le système de fichiers. Avez-vous besoin d'instructions pour écrire dans votre système de fichiers? Si oui, veuillez voir les modules Lua 'io' et' os'. –
Donc je devrais lire et écrire chaque fichier? Peut-être que je ferais mieux de faire un appel système Windows pour décompresser les fichiers. –