¿Cómo extracto archivos usando Lua?¿Cómo extraer archivos de un archivo zip usando Lua?
Actualización: ahora tengo el siguiente código pero se cuelga cada vez que llega al final de la función, pero extrae con éxito todos los archivos y los coloca en la ubicación correcta.
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\\")
¿Por qué se cuelga cada vez que se llega al final?
no creo que esto va a funcionar. Quiero extraer realmente los archivos dentro del zip, no solo ver los archivos dentro del zip. –
La extracción es el proceso de leer desde el archivo y escribir en el sistema de archivos. ¿Necesita instrucciones sobre cómo escribir en su sistema de archivos? Si es así, consulte los módulos de Lua 'io' y' os'. –
¿Tendría que leer y escribir cada archivo? Tal vez será mejor que haga una llamada al sistema de Windows para descomprimir los archivos. –