public ZipArchive ( Stream stream, ZipArchiveMode mode, bool leaveOpen, Encoding entryNameEncoding ) : System.Collections.Generic |
stream |
Stream |
The input or output stream. |
mode |
ZipArchiveMode |
See the description of the ZipArchiveMode enum. Read requires the stream to support reading, Create requires the stream to support writing, and Update requires the stream to support reading, writing, and seeking. |
leaveOpen |
bool |
true to leave the stream open upon disposing the ZipArchive, otherwise false. |
entryNameEncoding |
Encoding |
The encoding to use when reading or writing entry names in this ZipArchive.
/// /// NOTE: Specifying this parameter to values other than null is discouraged.
/// However, this may be necessary for interoperability with ZIP archive tools and libraries that do not correctly support
/// UTF-8 encoding for entry names.
/// This value is used as follows:
/// Reading (opening) ZIP archive files:
/// If entryNameEncoding is not specified (== null):
///
/// - For entries where the language encoding flag (EFS) in the general purpose bit flag of the local file header is not set,
/// use the current system default code page (Encoding.Default) in order to decode the entry name.
/// - For entries where the language encoding flag (EFS) in the general purpose bit flag of the local file header is set,
/// use UTF-8 (Encoding.UTF8) in order to decode the entry name.
///
/// If entryNameEncoding is specified (!= null):
///
/// - For entries where the language encoding flag (EFS) in the general purpose bit flag of the local file header is not set,
/// use the specified entryNameEncoding in order to decode the entry name.
/// - For entries where the language encoding flag (EFS) in the general purpose bit flag of the local file header is set,
/// use UTF-8 (Encoding.UTF8) in order to decode the entry name.
///
/// Writing (saving) ZIP archive files:
/// If entryNameEncoding is not specified (== null):
///
/// - For entry names that contain characters outside the ASCII range,
/// the language encoding flag (EFS) will be set in the general purpose bit flag of the local file header,
/// and UTF-8 (Encoding.UTF8) will be used in order to encode the entry name into bytes.
/// - For entry names that do not contain characters outside the ASCII range,
/// the language encoding flag (EFS) will not be set in the general purpose bit flag of the local file header,
/// and the current system default code page (Encoding.Default) will be used to encode the entry names into bytes.
///
/// If entryNameEncoding is specified (!= null):
///
/// - The specified entryNameEncoding will always be used to encode the entry names into bytes.
/// The language encoding flag (EFS) in the general purpose bit flag of the local file header will be set if and only
/// if the specified entryNameEncoding is a UTF-8 encoding.
///
/// Note that Unicode encodings other than UTF-8 may not be currently used for the entryNameEncoding,
/// otherwise an is thrown.
/// |
Результат |
System.Collections.Generic |
|