文章目录
前言
之前工作中用到了操作zip,对其整理
内容均来自,微软官方文档
https://docs.microsoft.com/zh-cn/dotnet/api/system.io.compression.ziparchiveentry?view=net-6.0
理了六分之一,但是我觉得我做的工作没有意义。我一开始是看另外一个大佬写的,叹为观止,觉得应有尽有。但是为啥我感觉我写的,直接就是cv
一、ZipArchive 类
1.1 含义:表示 Zip 存档格式中的一个压缩文件包。
1.2 构造函数有四类:
ZipArchive(Stream)
从指定的流初始化 ZipArchive 类的新实例。
ZipArchive(Stream, ZipArchiveMode)
从指定的流并使用指定的模式初始化 ZipArchive 类的新实例。
ZipArchive(Stream, ZipArchiveMode, Boolean)
对于指定的模式,初始化指定流上的 ZipArchive 类的新实例,并选择性地使流保持打开状态。
ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding)
对于指定的模式,初始化指定流上的 ZipArchive 类的新实例,使用项名的指定编码,并选择性地使流保持打开状态。
【参数解释】
Stream
输入流或输出流。
mode
ZipArchiveMode
一个枚举值指示 zip 存档是否用于读取、创建或更新使用。【建议跳读到3】
leaveOpen
Boolean
如果在释放 ZipArchive 对象后保持流处于打开状态,则为 true;否则为 false。
entryNameEncoding
Encoding
在存档中读取或写入项名时使用的编码。 仅当需要针对具有不支持项名的 UTF-8 编码的 zip 归档工具和库的互操作性进行编码时,为此参数指定一个值。
1.3 属性
1.3.1 ZipArchive.Entries 属性
public System.Collections.ObjectModel.ReadOnlyCollection<System.IO.Compression.ZipArchiveEntry> Entries { get; }
作用:获取 zip 存档中当前存在的项的集合。
注解:使用 Entries 属性检索条目的整个集合。 GetEntry使用该方法按名称检索单个条目。
1.3.2 ZipArchive.Mode 属性
获取描述 Zip 存档操作类型在实体上执行的值。
1.4 方法
1.4.1 ZipArchive.CreateEntry 方法 在 zip 存档中创建空项。
重载:
CreateEntry(String)
创建在 zip 存档中有指定路径和项名的空项。
CreateEntry(String, CompressionLevel)
创建在 zip 存档中有指定项名和压缩级别的空项。
CompressionLevel
System.IO.Compression.CompressionLevel compressionLevel 指示创建项时是否强调速度或压缩有效性的枚举值之一。
【图片2】
1.4.2 ZipArchive.Dispose 方法 释放由 ZipArchive 对象使用的所有资源。
重载:
Dispose()
释放 ZipArchive 类的当前实例使用的资源。
Dispose(Boolean)
由 Dispose() 和 Finalize() 方法调用,以释放 ZipArchive 类的当前实例使用的未托管资源,并选择性地完成存档的写入和释放托管资源。
1.4.3 ZipArchive.CreateEntry 方法 在 zip 存档中检索指定项的包装。
entryName
String
相对于存档的根的路径标识了项目检索。
二、ZipArchiveEntry 类【待续】
含义:表示 zip 档案中的压缩文件。
三、ZipArchiveMode 枚举
含义:指定用来与 zip 存档条目进行交互的值。
public System.IO.Compression.ZipArchiveMode Mode { get; }
Create 1
只允许创建新的存档项。
Read 0
只允许读取存档项。
Update 2
允许对存档项执行读取和写入操作。
四、ZipFile 类
含义:提供创建、解压缩和打开 zip 存档的静态方法。
五、ZipFileExtensions 类【待续】
含义:为 ZipArchive 和 ZipArchiveEntry 类提供扩展方法。
六、ZLibStream 类【待续】
含义:提供用于使用 zlib 数据格式规范压缩和解压缩流的方法和属性。
总结
理了六分之一,但是我觉得我做的工作没有意义。我一开始是看另外一个大佬写的,叹为观止,觉得应有尽有。但是为啥我感觉我写的,直接就是cv。
感觉除了CV就没别的了