ZipArchive 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 ZipArchive 類別的新執行個體。
多載
ZipArchive(Stream) |
從指定的資料流初始化 ZipArchive 類別的新執行個體。 |
ZipArchive(Stream, ZipArchiveMode) |
使用指定的模式,從指定的資料流初始化 ZipArchive 類別的新執行個體。 |
ZipArchive(Stream, ZipArchiveMode, Boolean) |
在指定之模式的指定資料流上,初始化 ZipArchive 類別的新執行個體,並選擇性地保留資料流開啟狀態。 |
ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding) |
在指定之模式的指定資料流上,初始化 ZipArchive 類別的新執行個體,使用項目名稱的指定編碼方式,並選擇性地保留資料流開啟狀態。 |
ZipArchive(Stream)
從指定的資料流初始化 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
包含要讀取的封存的資料流。
例外狀況
資料流已經關閉,或不支援讀取。
stream
為 null
。
資料流的內容不是 zip 封存格式。
適用於
ZipArchive(Stream, ZipArchiveMode)
使用指定的模式,從指定的資料流初始化 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 封存,來讀取、建立或更新項目。
例外狀況
資料流已經關閉,或資料流的容量不符合模式。
stream
為 null
。
mode
是無效的值。
備註
mode
如果 參數設定為 Read,則數據流必須支援讀取。 mode
如果 參數設定為 Create,則數據流必須支援寫入。 mode
如果 參數設定Update為 ,數據流必須支援讀取、寫入和搜尋。
適用於
ZipArchive(Stream, ZipArchiveMode, Boolean)
在指定之模式的指定資料流上,初始化 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
。
例外狀況
資料流已經關閉,或資料流的容量不符合模式。
stream
為 null
。
mode
是無效的值。
備註
mode
如果 參數設定為 Read,則數據流必須支援讀取。 mode
如果 參數設定為 Create,則數據流必須支援寫入。 mode
如果 參數設定Update為 ,數據流必須支援讀取、寫入和搜尋。
適用於
ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding)
在指定之模式的指定資料流上,初始化 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 編碼時,指定此參數的值。
例外狀況
stream
為 null
。
mode
是無效的值。
備註
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編碼時,才會在本機檔頭的一般用途位旗標中設定語言編碼 (旗標) 。