unzip.lua 602 B

123456789101112131415161718192021222324252627
  1. module(..., package.seeall)
  2. -- 挂载sd卡,sd卡里放一个zip文件,压缩方式需要是deflate(7zip中zip格式默认使用deflate),
  3. io.mount(io.SDCARD)
  4. local zfile, err = zip.open("/sdcard0/test.zip")
  5. -- 列出压缩包中的所有文件
  6. for file in zfile:files() do
  7. print(file.filename)
  8. end
  9. -- 解压文件到sd卡中
  10. for file in zfile:files() do
  11. local wf = io.open("/sdcard0/"..file.filename, "w")
  12. rf, err = zfile:open(file.filename)
  13. local s = rf:read("*a")
  14. wf:write(s)
  15. wf:close()
  16. rf:close()
  17. end
  18. zfile:close()
  19. io.unmount(io.SDCARD)
  20. print("unzip end")