ZipArchiveMode 枚举

定义

指定用来与 zip 存档条目进行交互的值。

C#
public enum ZipArchiveMode
继承
ZipArchiveMode

字段

名称 说明
Create 1

只允许创建新的存档项。

Read 0

只允许读取存档项。

Update 2

允许对存档项执行读取和写入操作。

注解

将模式设置为“读取”时,基础文件或流必须支持读取,但不必支持查找。 如果基础文件或流支持查找,则会在请求文件时从存档中读取文件。 如果基础文件或流不支持查找,则整个存档保存在内存中。

将模式设置为Create时,基础文件或流必须支持写入,但不必支持查找。 存档中的每个条目只能打开一次进行写入。 如果创建单个条目,则会在数据可用时立即将数据写入基础流或文件。 如果创建多个条目(例如通过调用 CreateFromDirectory 方法),则会在创建所有条目后将数据写入基础流或文件。

将模式设置为“更新”时,基础文件或流必须支持读取、写入和查找。 整个存档的内容保存在内存中,在释放存档之前,不会将任何数据写入基础文件或流。

以下方法包括一个名为 mode 的参数,可用于指定存档模式:

示例

以下示例演示如何在 ZipArchiveMode 创建 ZipArchive 对象时指定值。

C#
using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuser\release.zip", FileMode.Open))
            {
                using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
                {
                    ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
                    {
                            writer.WriteLine("Information about this package.");
                            writer.WriteLine("========================");
                    }
                }
            }
        }
    }
}

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0