ZipArchiveMode 枚举

定义

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

public enum class ZipArchiveMode
public enum ZipArchiveMode
type ZipArchiveMode = 
Public Enum ZipArchiveMode
继承
ZipArchiveMode

字段

Create 1

只允许创建新的存档项。

Read 0

只允许读取存档项。

Update 2

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

注解

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

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

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

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

示例

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

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("========================");
                    }
                }
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Using zipToOpen As FileStream = New FileStream("c:\users\exampleuser\release.zip", FileMode.Open)
            Using archive As ZipArchive = New ZipArchive(zipToOpen, ZipArchiveMode.Update)
                Dim readmeEntry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
                Using writer As StreamWriter = New StreamWriter(readmeEntry.Open())
                    writer.WriteLine("Information about this package.")
                    writer.WriteLine("========================")
                End Using
            End Using
        End Using
    End Sub

End Module

适用于