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