title: How to extract files from a zip file using Lua?
body: <p>How do I extract files using Lua?</p>
  
  <p>Update: I now have the following code but it crashes every time it reaches the end of the function, but it successfully extracts all the files and puts them in the right location.</p>
  
  <pre><code>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\\")
  </code></pre>
  
  <p><strong>Why does it crash every time it reaches the end?</strong></p>