ZipArchiveMode Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает значения для взаимодействия с записями в ZIP-архиве.
public enum class ZipArchiveMode
public enum ZipArchiveMode
type ZipArchiveMode =
Public Enum 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