ZipArchive 建構函式

定義

初始化 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

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

例外狀況

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

streamnull

資料流的內容不是 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 封存,來讀取、建立或更新項目。

例外狀況

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

streamnull

mode 是無效的值。

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

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

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

備註

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

例外狀況

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

streamnull

mode 是無效的值。

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

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

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

備註

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 編碼時,才指定此參數的值。

例外狀況

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

-或-

已針對 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 設定為以外的值時 nullentryNameEncoding 會使用指定的來將專案名稱編碼成位元組。 只有當指定的編碼為 UTF-8 編碼時,才會設定本機檔案標頭之一般用途位旗標中 (的語言編碼旗標) 。

適用於