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 編碼時,才會設定本機檔案標頭之一般用途位旗標中 (的語言編碼旗標) 。