ZipArchive.CreateAsync 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 모드에서 지정된 스트림의 ZipArchive 새 인스턴스를 비동기적으로 초기화하고 반환하며, 선택적 인코딩 및 선택적 취소 토큰을 사용하여 스트림을 열어 둘지 여부를 지정합니다.
public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> CreateAsync(System.IO.Stream stream, System.IO.Compression.ZipArchiveMode mode, bool leaveOpen, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateAsync : System.IO.Stream * System.IO.Compression.ZipArchiveMode * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function CreateAsync (stream As Stream, mode As ZipArchiveMode, leaveOpen As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)
매개 변수
- stream
- Stream
입력 또는 출력 스트림입니다.
- mode
- ZipArchiveMode
스트림이 읽기, 쓰기 및 검색을 지원하는지 여부를 지정하는 열거형 값 중 하나입니다.
- leaveOpen
- Boolean
true ZipArchive false를 삭제할 때 스트림을 열어 두려면 .
- entryNameEncoding
- Encoding
이 ZipArchive에서 항목 이름 및 메모를 읽거나 쓸 때 사용할 인코딩입니다.
- cancellationToken
- CancellationToken
모니터링할 선택적 취소 토큰입니다.
반품
예외
스트림이 .입니다 null.
mode 가 잘못된 값을 지정했습니다.
스트림의 내용을 ZIP 파일로 해석할 수 없습니다.
-또는-
mode 는 Update이고 항목이 보관 파일에서 누락되었거나 손상되어 읽을 수 없습니다.
-또는-
mode 가 업데이트이고 항목이 너무 커서 메모리에 맞지 않습니다.
UTF-8 이외의 유니코드 인코딩이 에 대해 entryNameEncoding지정되었습니다.
설명
이외의 null 값을 entryNameEncoding 지정하는 것은 권장되지 않습니다. 그러나 항목 이름에 대해 UTF-8 인코딩을 올바르게 지원하지 않는 ZIP 보관 도구 및 라이브러리와의 상호 운용성을 위해 필요할 수 있습니다.
이 값은 다음과 같이 사용됩니다.
- 지정되지 않은 경우
entryNameEncoding(== null):- 로컬 파일 헤더의 범용 비트 플래그에서 EFS(언어 인코딩 플래그)가 설정 되지 않은 항목의 경우 현재 시스템 기본 코드 페이지(
Encoding.Default)를 사용하여 항목 이름과 주석을 디코딩합니다. - 로컬 파일 헤더의 범용 비트 플래그에서 EFS(언어 인코딩 플래그)가 설정된 항목의 경우 UTF-8(
Encoding.UTF8)을 사용하여 항목 이름과 주석을 디코딩합니다.
- 로컬 파일 헤더의 범용 비트 플래그에서 EFS(언어 인코딩 플래그)가 설정 되지 않은 항목의 경우 현재 시스템 기본 코드 페이지(
- 지정된 경우
entryNameEncoding(!= null):- 로컬 파일 헤더의 범용 비트 플래그에 있는 언어 인코딩 플래그(EFS)가 설정 되지 않은 항목의 경우 지정된
entryNameEncoding항목을 사용하여 항목 이름과 주석을 디코딩합니다. - 로컬 파일 헤더의 범용 비트 플래그에서 EFS(언어 인코딩 플래그)가 설정된 항목의 경우 UTF-8(
Encoding.UTF8)을 사용하여 항목 이름과 주석을 디코딩합니다.
- 로컬 파일 헤더의 범용 비트 플래그에 있는 언어 인코딩 플래그(EFS)가 설정 되지 않은 항목의 경우 지정된
- 지정되지 않은 경우
entryNameEncoding(== null):- ASCII 범위를 벗어난 문자를 포함하는 항목 이름 및 주석의 경우 EFS(언어 인코딩 플래그)는 로컬 파일 헤더의 범용 비트 플래그에 설정되고 UTF-8(
Encoding.UTF8)은 항목 이름과 주석을 바이트로 인코딩하는 데 사용됩니다. - ASCII 범위를 벗어나는 문자를 포함하지 않는 항목 이름 및 주석의 경우 EFS(언어 인코딩 플래그)는 로컬 파일 헤더의 범용 비트 플래그에 설정되지 않으며 현재 시스템 기본 코드 페이지(
Encoding.Default)는 항목 이름과 주석을 바이트로 인코딩하는 데 사용됩니다.
- ASCII 범위를 벗어난 문자를 포함하는 항목 이름 및 주석의 경우 EFS(언어 인코딩 플래그)는 로컬 파일 헤더의 범용 비트 플래그에 설정되고 UTF-8(
- 지정된 경우
entryNameEncoding(!= null):- 지정된
entryNameEncoding항목은 항상 항목 이름과 주석을 바이트로 인코딩하는 데 사용됩니다. - 지정된
entryNameEncoding항목이 UTF-8 인코딩인 경우에만 로컬 파일 헤더의 범용 비트 플래그에 있는 EFS(언어 인코딩 플래그)가 설정됩니다.
- 지정된