• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2023-09-17 12:50 Aet 隐藏边栏 |   抢沙发  15 
文章评分 2 次,平均分 5.0

概述

  1. zlib库是一个广泛使用的压缩/解压缩库
    1. 下面实现是用了zlib 1.3版本的代码和相关库
    2. 具体是使用了zlib源码中带的minizip
  2. 其中的minizip扩展提供了处理ZIP文件的功能

解压

  1. 在解压之前可能需要处理其他的很多工作,比如验证目录,验证目标文件是否存在等。这里只记述了具体的解压实现

  1. unzOpen函数是minizip中用于打开ZIP文件的函数,先打开压缩文件
  2. unzGetGlobalInfominizip 中的一个函数,用于获取一个ZIP文件的全局信息,例如该ZIP文件中的文件数量、注释等
  3. unzGetCurrentFileInfominizip 库中的一个函数,用于获取当前打开的 ZIP 文件中当前条目的详细信息
    1. 这可以帮助您了解每个条目(文件或目录)的属性,如文件名、压缩和未压缩大小、修改时间等
  4. 根据当前条目的类型,进程操作,如果判定是文件夹,则创建文件夹。如果判定是文件,则按文件来处理
  5. unzOpenCurrentFilezlib库中的一个函数,用于打开ZIP文件中的当前条目(如一个文件)以进行解压缩
    1. ZIP文件中遍历条目时,如果想解压缩某个特定的条目
    2. 首先需要使用unzOpenCurrentFile打开该条目
    3. 然后,使用unzReadCurrentFile从该条目中读取数据,直到读取完整个条目
    4. 最后,使用unzCloseCurrentFile关闭该条目
  6. unzReadCurrentFilezlib库中的一个函数,具体地说,是其minizip扩展中的一个函数
    1. 这个函数用于从ZIP文件的当前条目中读取数据,也就是解压当前选定的文件或数据
  7. unzCloseCurrentFilezlib 的一个函数,特定于处理 zip 文件格式。使用 zlib 来解压一个 zip 文件时,你会经历以下基本步骤:
    1. 打开 zip 文件(unzOpen
    2. 可选地检索 zip 文件中的全局信息(例如,通过 unzGetGlobalInfo
    3. 遍历 zip 文件中的每个条目(通常是文件和/或目录)
    4. 对于每个条目:
      打开该条目(unzOpenCurrentFile
      读取该条目的数据(例如,通过 unzReadCurrentFile
      关闭该条目(unzCloseCurrentFile
    5. 关闭 zip 文件(unzClose
  8. unzGoToNextFilezlib中用于处理zip文件格式的函数。它是在解压zip文件时使用的,具体用于迭代zip文件中的条目

压缩

  1. 待续

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享