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

Определение

Определяет значения для взаимодействия с записями ZIP-архива.Specifies values for interacting with zip archive entries.

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

Поля

Create 1

Разрешено только создание новых записей архива.Only creating new archive entries is permitted.

Read 0

Разрешено только чтение записей архива.Only reading archive entries is permitted.

Update 2

Операции чтение и запись разрешены для записей архива.Both read and write operations are permitted for archive entries.

Примеры

В следующем примере показано, как указать ZipArchiveMode значение при ZipArchive создании объекта.The following example shows how to specify a ZipArchiveMode value when creating a ZipArchive object.

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

Комментарии

При установке режима чтения базовый файл или поток должен поддерживать чтение, но не обязательно поддерживать поиск.When you set the mode to Read, the underlying file or stream must support reading, but does not have to support seeking. Если базовый файл или поток поддерживает поиск, файлы считываются из архива по мере их запроса.If the underlying file or stream supports seeking, the files are read from the archive as they are requested. Если базовый файл или поток не поддерживает поиск, весь архив хранится в памяти.If the underlying file or stream does not support seeking, the entire archive is held in memory.

Если задан режим создания, базовый файл или поток должен поддерживать запись, но не поддерживает поиск.When you set the mode to Create, the underlying file or stream must support writing, but does not have to support seeking. Каждая запись архива может быть открыта для записи только один раз.Each entry in the archive can be opened only once for writing. При создании одной записи данные записываются в базовый поток или файл, как только он станет доступен.If you create a single entry, the data is written to the underlying stream or file as soon as it is available. При создании нескольких записей, например путем вызова CreateFromDirectory метода, данные записываются в базовый поток или файл после создания всех записей.If you create multiple entries, such as by calling the CreateFromDirectory method, the data is written to the underlying stream or file after all the entries are created.

При установке режима обновления базовый файл или поток должен поддерживать чтение, запись и поиск.When you set the mode to Update, the underlying file or stream must support reading, writing, and seeking. Содержимое всего архива хранится в памяти, и никакие данные не записываются в базовый файл или поток до тех пор, пока Архив не будет удален.The content of the entire archive is held in memory, and no data is written to the underlying file or stream until the archive is disposed.

Следующие методы включают параметр с именем mode , который позволяет указать режим архива:The following methods include a parameter named mode that lets you specify the archive mode:

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