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

Определение

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

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

Поля

Create 1

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

Read 0

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

Update 2

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

Комментарии

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

При настройке режима создания базовый файл или поток должен поддерживать запись, но не требует поддержки поиска. Каждая запись в архиве может быть открыта только один раз для записи. Если вы создаете одну запись, данные записываются в базовый поток или файл сразу после его доступности. При создании нескольких записей, например путем вызова 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

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