ZipArchive 建構函式

定義

初始化 ZipArchive 類別的新執行個體。

多載

ZipArchive(Stream)

從指定的資料流初始化 ZipArchive 類別的新執行個體。

ZipArchive(Stream, ZipArchiveMode)

使用指定的模式,從指定的資料流初始化 ZipArchive 類別的新執行個體。

ZipArchive(Stream, ZipArchiveMode, Boolean)

在指定之模式的指定資料流上,初始化 ZipArchive 類別的新執行個體,並選擇性地保留資料流開啟狀態。

ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding)

在指定之模式的指定資料流上,初始化 ZipArchive 類別的新執行個體,使用項目名稱的指定編碼方式,並選擇性地保留資料流開啟狀態。

ZipArchive(Stream)

來源:
ZipArchive.cs
來源:
ZipArchive.cs
來源:
ZipArchive.cs

從指定的資料流初始化 ZipArchive 類別的新執行個體。

public:
 ZipArchive(System::IO::Stream ^ stream);
public ZipArchive (System.IO.Stream stream);
new System.IO.Compression.ZipArchive : System.IO.Stream -> System.IO.Compression.ZipArchive
Public Sub New (stream As Stream)

參數

stream
Stream

包含要讀取的封存的資料流。

例外狀況

資料流已經關閉,或不支援讀取。

streamnull

資料流的內容不是 zip 封存格式。

適用於

ZipArchive(Stream, ZipArchiveMode)

來源:
ZipArchive.cs
來源:
ZipArchive.cs
來源:
ZipArchive.cs

使用指定的模式,從指定的資料流初始化 ZipArchive 類別的新執行個體。

public:
 ZipArchive(System::IO::Stream ^ stream, System::IO::Compression::ZipArchiveMode mode);
public ZipArchive (System.IO.Stream stream, System.IO.Compression.ZipArchiveMode mode);
new System.IO.Compression.ZipArchive : System.IO.Stream * System.IO.Compression.ZipArchiveMode -> System.IO.Compression.ZipArchive
Public Sub New (stream As Stream, mode As ZipArchiveMode)

參數

stream
Stream

輸入或輸出資料流。

mode
ZipArchiveMode

其中一個列舉值,指出是否使用 zip 封存,來讀取、建立或更新項目。

例外狀況

資料流已經關閉,或資料流的容量不符合模式。

streamnull

mode 是無效的值。

無法將資料流的內容解譯為 zip 封存。

-或-

modeUpdate,而且項目從封存中遺失,或已損毀且無法讀取。

-或-

modeUpdate,而且項目太大,無法放入記憶體。

備註

mode如果 參數設定為 Read,則數據流必須支援讀取。 mode如果 參數設定為 Create,則數據流必須支援寫入。 mode如果 參數設定Update為 ,數據流必須支援讀取、寫入和搜尋。

適用於

ZipArchive(Stream, ZipArchiveMode, Boolean)

來源:
ZipArchive.cs
來源:
ZipArchive.cs
來源:
ZipArchive.cs

在指定之模式的指定資料流上,初始化 ZipArchive 類別的新執行個體,並選擇性地保留資料流開啟狀態。

public:
 ZipArchive(System::IO::Stream ^ stream, System::IO::Compression::ZipArchiveMode mode, bool leaveOpen);
public ZipArchive (System.IO.Stream stream, System.IO.Compression.ZipArchiveMode mode, bool leaveOpen);
new System.IO.Compression.ZipArchive : System.IO.Stream * System.IO.Compression.ZipArchiveMode * bool -> System.IO.Compression.ZipArchive
Public Sub New (stream As Stream, mode As ZipArchiveMode, leaveOpen As Boolean)

參數

stream
Stream

輸入或輸出資料流。

mode
ZipArchiveMode

其中一個列舉值,指出是否使用 zip 封存,來讀取、建立或更新項目。

leaveOpen
Boolean

true 表示在處置 ZipArchive 物件之後,將資料流保持開啟;否則為 false

例外狀況

資料流已經關閉,或資料流的容量不符合模式。

streamnull

mode 是無效的值。

無法將資料流的內容解譯為 zip 封存。

-或-

modeUpdate,而且項目從封存中遺失,或已損毀且無法讀取。

-或-

modeUpdate,而且項目太大,無法放入記憶體。

備註

mode如果 參數設定為 Read,則數據流必須支援讀取。 mode如果 參數設定為 Create,則數據流必須支援寫入。 mode如果 參數設定Update為 ,數據流必須支援讀取、寫入和搜尋。

適用於

ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding)

來源:
ZipArchive.cs
來源:
ZipArchive.cs
來源:
ZipArchive.cs

在指定之模式的指定資料流上,初始化 ZipArchive 類別的新執行個體,使用項目名稱的指定編碼方式,並選擇性地保留資料流開啟狀態。

public:
 ZipArchive(System::IO::Stream ^ stream, System::IO::Compression::ZipArchiveMode mode, bool leaveOpen, System::Text::Encoding ^ entryNameEncoding);
public ZipArchive (System.IO.Stream stream, System.IO.Compression.ZipArchiveMode mode, bool leaveOpen, System.Text.Encoding entryNameEncoding);
public ZipArchive (System.IO.Stream stream, System.IO.Compression.ZipArchiveMode mode, bool leaveOpen, System.Text.Encoding? entryNameEncoding);
new System.IO.Compression.ZipArchive : System.IO.Stream * System.IO.Compression.ZipArchiveMode * bool * System.Text.Encoding -> System.IO.Compression.ZipArchive
Public Sub New (stream As Stream, mode As ZipArchiveMode, leaveOpen As Boolean, entryNameEncoding As Encoding)

參數

stream
Stream

輸入或輸出資料流。

mode
ZipArchiveMode

其中一個列舉值,指出是否使用 zip 封存,來讀取、建立或更新項目。

leaveOpen
Boolean

true 表示在處置 ZipArchive 物件之後,將資料流保持開啟;否則為 false

entryNameEncoding
Encoding

在此封存中讀取或寫入項目名稱時要使用的編碼方式。 只有當需要編碼以與 Zip 封存工具和程式庫互通,且這類工具和程式庫不支援項目名稱使用 UTF-8 編碼時,指定此參數的值。

例外狀況

資料流已經關閉,或資料流的容量不符合模式。

-或-

已針對 entryNameEncoding 指定 UTF-8 以外的編碼方式。

streamnull

mode 是無效的值。

無法將資料流的內容解譯為 zip 封存。

-或-

modeUpdate,而且項目從封存中遺失,或已損毀且無法讀取。

-或-

modeUpdate,而且項目太大,無法放入記憶體。

備註

mode如果 參數設定為 Read,則數據流必須支援讀取。 mode如果 參數設定為 Create,則數據流必須支援寫入。 mode如果 參數設定Update為 ,數據流必須支援讀取、寫入和搜尋。

當您開啟 zip 封存盤案進行讀取,並將 entryNameEncoding 設定 null為 時,專案名稱會根據下列規則進行譯碼:

  • 如果未設定本機檔標頭的一般用途位旗標 (語言編碼旗標) ,則目前的系統默認代碼頁會用來譯碼項目名稱。

  • 設定語言編碼旗標時,會使用UTF-8來譯碼項目名稱。

當您開啟 zip 封存盤案以供讀取,並且 entryNameEncoding 設定為 以外的 null值時,專案名稱會根據下列規則進行譯碼:

  • 未設定語言編碼旗標時,會使用指定的 entryNameEncoding 來譯碼項目名稱。

  • 設定語言編碼旗標時,會使用UTF-8來譯碼項目名稱。

當您寫入封存盤案並 entryNameEncoding 設定 null為 時,專案名稱會根據下列規則進行編碼:

  • 對於包含 ASCII 範圍外字元的專案名稱,會設定語言編碼旗標,並使用 UTF-8 編碼項目名稱。

  • 對於只包含 ASCII 字元的專案名稱,不會設定語言編碼旗標,而且專案名稱會使用目前的系統預設代碼頁進行編碼。

當您寫入封存盤案並 entryNameEncoding 設定為 以外的 null值時,指定的 entryNameEncoding 會用來將專案名稱編碼為位元組。 只有在指定的編碼方式為UTF-8編碼時,才會在本機檔頭的一般用途位旗標中設定語言編碼 (旗標) 。

適用於