Поделиться через


ZipArchiveMode Перечисление

Определение

Задает значения для взаимодействия с записями в ZIP-архиве.

public enum class ZipArchiveMode
public enum ZipArchiveMode
type ZipArchiveMode = 
Public Enum ZipArchiveMode
Наследование
ZipArchiveMode

Поля

Create 1

Разрешено только создание новых записей архива.

Read 0

Разрешено только чтение записей архива.

Update 2

Операции чтение и запись разрешены для записей архива.

Комментарии

Если для режима задано значение Чтение, базовый файл или поток должен поддерживать чтение, но не должен поддерживать поиск. Если базовый файл или поток поддерживает поиск, файлы считываются из архива по мере запроса. Если базовый файл или поток не поддерживает поиск, весь архив хранится в памяти.

При настройке режима Create базовый файл или поток должен поддерживать запись, но не должен поддерживать поиск. Каждую запись в архиве можно открыть только один раз для записи. При создании одной записи данные записываются в базовый поток или файл, как только они будут доступны. При создании нескольких записей, например путем вызова CreateFromDirectory метода , данные записываются в базовый поток или файл после создания всех записей.

При настройке режима Update базовый файл или поток должны поддерживать чтение, запись и поиск. Содержимое всего архива хранится в памяти, и никакие данные не записываются в базовый файл или поток, пока архив не будет удален.

Следующие методы включают параметр с именем 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

Применяется к