ZipFile.OpenAsync 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| Name | Description |
|---|---|
| OpenAsync(String, ZipArchiveMode, CancellationToken) |
지정된 |
| OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken) |
지정된 |
OpenAsync(String, ZipArchiveMode, CancellationToken)
- Source:
- ZipFile.Create.Async.cs
- Source:
- ZipFile.Create.Async.cs
지정된 ZipArchiveMode 모드에서 지정된 archiveFileName 값을 비동기적으로 엽니다ZipArchive.
public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> OpenAsync(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Threading.CancellationToken cancellationToken = default);
static member OpenAsync : string * System.IO.Compression.ZipArchiveMode * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function OpenAsync (archiveFileName As String, mode As ZipArchiveMode, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)
매개 변수
- archiveFileName
- String
보관 파일을 열 파일 시스템의 경로입니다.
- mode
- ZipArchiveMode
열린 보관 파일의 항목에 허용되는 작업을 지정하는 열거형 값 중 하나입니다.
- cancellationToken
- CancellationToken
취소 요청을 모니터링할 취소 토큰입니다.
반품
예외
archiveFileName 는 길이가 0인 문자열이거나, 공백만 포함하거나, InvalidPathChars에 정의된 하나 이상의 잘못된 문자를 포함합니다.
archiveFileName은 null입니다.
archiveFileName 가 시스템 정의 최대 길이를 초과합니다. 예를 들어 Windows 기반 플랫폼에서 경로는 248자 미만이어야 하고 파일 이름은 260자 미만이어야 합니다.
지정한 값이 잘못되었습니다 archiveFileName (예: 매핑되지 않은 드라이브에 있는 경우).
파일을 여는 동안 지정되지 않은 I/O 오류가 발생했습니다.
mode 가 잘못된 값을 지정했습니다.
지정한 archiveFileName 파일을 찾을 수 없습니다.
archiveFileName 가 잘못된 형식입니다.
지정된 파일을 zip 파일로 해석할 수 없습니다.
-또는-
mode 가 Update 있고 항목이 보관 파일에서 누락되었거나 손상되어 읽을 수 없습니다.
-또는-
mode 가 Update 있고 항목이 너무 커서 메모리에 맞지 않습니다.
비동기 작업이 취소됩니다.
설명
archiveFileName의 경우:
경로는 상대 또는 절대 경로 정보를 지정할 수 있습니다. 상대 경로 정보는 현재 작업 디렉터리를 기준으로 해석됩니다.
mode의 경우:
지정된 경우 Read 파일은 로 System.IO.FileMode.Open열리고 파일이 없으면 throw FileNotFoundException 됩니다.
지정된 경우 Create 파일이 로 System.IO.FileMode.CreateNew열리고 파일이 이미 있는 경우 throw System.IO.IOException 됩니다.
지정한 경우 Update 파일이 .으로 System.IO.FileMode.OpenOrCreate열립니다.
파일이 있고 zip 파일인 경우 해당 항목에 액세스할 수 있고 수정할 수 있으며 새 항목을 만들 수 있습니다.
파일이 있고 zip 파일이 아니면 throw InvalidDataException 됩니다.
파일이 존재하고 비어 있거나 존재하지 않는 경우 새 zip 파일이 만들어집니다.
새 zip 파일을 만들 때 모드로 Create zip 파일을 만드는 것이 더 효율적입니다.
적용 대상
OpenAsync(String, ZipArchiveMode, Encoding, CancellationToken)
- Source:
- ZipFile.Create.Async.cs
- Source:
- ZipFile.Create.Async.cs
지정된 ZipArchiveMode 모드에서 지정된 archiveFileName 값을 비동기적으로 엽니다ZipArchive.
public static System.Threading.Tasks.Task<System.IO.Compression.ZipArchive> OpenAsync(string archiveFileName, System.IO.Compression.ZipArchiveMode mode, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member OpenAsync : string * System.IO.Compression.ZipArchiveMode * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.IO.Compression.ZipArchive>
Public Shared Function OpenAsync (archiveFileName As String, mode As ZipArchiveMode, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ZipArchive)
매개 변수
- archiveFileName
- String
보관 파일을 열 파일 시스템의 경로입니다.
- mode
- ZipArchiveMode
열린 보관 파일의 항목에 허용되는 작업을 지정하는 열거형 값 중 하나입니다.
- entryNameEncoding
- Encoding
이 ZipArchive에서 항목 이름 및 메모를 읽거나 쓸 때 사용할 인코딩입니다.
- cancellationToken
- CancellationToken
취소 요청을 모니터링할 취소 토큰입니다.
반품
예외
archiveFileName 는 길이가 0인 문자열이거나, 공백만 포함하거나, InvalidPathChars에 정의된 하나 이상의 잘못된 문자를 포함합니다.
archiveFileName은 null입니다.
archiveFileName 가 시스템 정의 최대 길이를 초과합니다. 예를 들어 Windows 기반 플랫폼에서 경로는 248자 미만이어야 하고 파일 이름은 260자 미만이어야 합니다.
archiveFileName 가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있는 경우).
파일을 여는 동안 지정되지 않은 I/O 오류가 발생했습니다.
mode 가 잘못된 값을 지정했습니다.
지정한 archiveFileName 파일을 찾을 수 없습니다.
archiveFileName 가 잘못된 형식입니다.
지정된 파일을 zip 파일로 해석할 수 없습니다.
-또는-
mode 가 Update 있고 항목이 보관 파일에서 누락되었거나 손상되어 읽을 수 없습니다.
-또는-
mode 가 Update 있고 항목이 너무 커서 메모리에 맞지 않습니다.
비동기 작업이 취소됩니다.
설명
archiveFileName의 경우:
경로는 상대 또는 절대 경로 정보를 지정할 수 있습니다. 상대 경로 정보는 현재 작업 디렉터리를 기준으로 해석됩니다.
mode의 경우:
지정된 경우 Read 파일은 로 System.IO.FileMode.Open열리고 파일이 없으면 throw FileNotFoundException 됩니다.
지정된 경우 Create 파일이 로 System.IO.FileMode.CreateNew열리고 파일이 이미 있는 경우 throw System.IO.IOException 됩니다.
지정한 경우 Update 파일이 .으로 System.IO.FileMode.OpenOrCreate열립니다.
파일이 있고 zip 파일인 경우 해당 항목에 액세스할 수 있고 수정할 수 있으며 새 항목을 만들 수 있습니다.
파일이 있고 zip 파일이 아니면 throw InvalidDataException 됩니다.
파일이 존재하고 비어 있거나 존재하지 않는 경우 새 zip 파일이 만들어집니다.
새 zip 파일을 만들 때 모드로 Create zip 파일을 만드는 것이 더 효율적입니다.
값 이외의 값을 nullentryNameEncoding 지정하는 것은 권장되지 않습니다. 그러나 항목 이름 또는 주석에 대해 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(언어 인코딩 플래그)가 설정됩니다.
- 지정된
UTF-8 이외의 유니코드 인코딩은 사용할 entryNameEncoding수 없으며, 그렇지 않으면 ArgumentException throw됩니다.