ZipArchiveMode 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定與 ZIP 封存項目互動的值。
public enum class ZipArchiveMode
public enum ZipArchiveMode
type ZipArchiveMode =
Public Enum ZipArchiveMode
- 繼承
欄位
Create | 1 | 僅允許建立新的封存項目。 |
Read | 0 | 僅允許讀取封存項目。 |
Update | 2 | 封存項目允許讀取及寫入作業。 |
備註
當您將模式設定為 [讀取] 時,基礎檔案或數據流必須支援讀取,但不需要支援搜尋。 如果基礎檔案或數據流支援搜尋,則會在要求檔案時從封存讀取這些檔案。 如果基礎檔案或數據流不支援搜尋,整個封存會保留在記憶體中。
當您將模式設定為 Create 時,基礎檔案或數據流必須支援寫入,但不需要支援搜尋。 封存中的每個專案只能開啟一次以供寫入。 如果您建立單一專案,只要數據可供使用,就會將數據寫入基礎數據流或檔案。 如果您建立多個專案,例如呼叫 CreateFromDirectory 方法,數據會在建立所有項目之後寫入基礎數據流或檔案。
當您將模式設定為 [更新] 時,基礎檔案或數據流必須支援讀取、寫入和搜尋。 整個封存的內容會保留在記憶體中,而且在封存處置之前,不會將數據寫入基礎檔案或數據流。
下列方法包含名為 mode
的參數,可讓您指定封存模式:
範例
下列範例示範如何在建立 ZipArchive 物件時指定ZipArchiveMode
值。
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