ZipArchiveMode 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定用来与 zip 存档条目进行交互的值。
public enum class ZipArchiveMode
public enum ZipArchiveMode
type ZipArchiveMode =
Public Enum ZipArchiveMode
- 继承
字段
Create | 1 | 只允许创建新的存档项。 |
Read | 0 | 只允许读取存档项。 |
Update | 2 | 允许对存档项执行读取和写入操作。 |
注解
将模式设置为“读取”时,基础文件或流必须支持读取,但不必支持查找。 如果基础文件或流支持查找,则会在请求文件时从存档中读取文件。 如果基础文件或流不支持查找,则整个存档保存在内存中。
将模式设置为Create时,基础文件或流必须支持写入,但不必支持查找。 存档中的每个条目只能打开一次进行写入。 如果创建单个条目,则会在数据可用时立即将数据写入基础流或文件。 如果创建多个条目(例如通过调用 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