ZipFile.CreateFromDirectoryAsync Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| CreateFromDirectoryAsync(String, Stream, CancellationToken) |
De forma assíncrona, cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado. |
| CreateFromDirectoryAsync(String, String, CancellationToken) |
De forma assíncrona, cria um arquivo zip no caminho |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken) |
De forma assíncrona, cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado, usando o nível de compressão especificado, e opcionalmente incluindo o diretório base. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken) |
De forma assíncrona, cria um arquivo zip no caminho |
| CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken) |
De forma assíncrona, cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado, usando o nível de compressão e a codificação de caracteres especificados para os nomes das entradas, e opcionalmente incluindo o diretório base. |
| CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken) |
De forma assíncrona, cria um arquivo zip no caminho |
CreateFromDirectoryAsync(String, Stream, CancellationToken)
- Origem:
- ZipFile.Create.Async.cs
- Origem:
- ZipFile.Create.Async.cs
De forma assíncrona, cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceDirectoryName
- String
O caminho para o diretório a ser arquivado, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- destination
- Stream
O fluxo onde o arquivo zip vai ser armazenado.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceDirectoryName é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.
-ou-
O destination stream não suporta escrita.
sourceDirectoryName ou destination é null.
Em sourceDirectoryName, o caminho, nome do ficheiro, ou ambos especificados excedem o comprimento máximo definido pelo sistema.
sourceDirectoryName é inválido ou não existe (por exemplo, está num disco não mapeado).
Um ficheiro no diretório especificado não podia ser aberto.
-ou-
Ocorreu um erro de E/S ao abrir um ficheiro a arquivar.
sourceDirectoryName contém um formato inválido.
Uma operação assíncrona é cancelada.
Observações
A estrutura de diretórios do sistema de ficheiros é preservada no arquivo. Se o diretório estiver vazio, cria-se um arquivo vazio.
Esta sobrecarga de métodos não inclui o diretório base no arquivo e não permite especificar um nível de compressão.
Se quiseres incluir o diretório base ou especificar um nível de compressão, chama o CreateFromDirectory(String, Stream, CompressionLevel, Boolean) método overload.
Se um ficheiro no diretório não puder ser adicionado ao arquivo, o arquivo fica incompleto e inválido, e o método lança uma IOException exceção.
Aplica-se a
CreateFromDirectoryAsync(String, String, CancellationToken)
- Origem:
- ZipFile.Create.Async.cs
- Origem:
- ZipFile.Create.Async.cs
De forma assíncrona, cria um arquivo zip no caminho destinationArchiveFileName que contém os ficheiros e diretórios do diretório especificado por sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceDirectoryName
- String
O caminho para o diretório no sistema de ficheiros a ser arquivado.
- destinationArchiveFileName
- String
O nome do arquivo a ser criado.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceDirectoryName ou destinationArchiveFileName é uma cadeia de comprimento zero, contém apenas espaços em branco, ou contém um ou mais caracteres inválidos conforme definido por InvalidPathChars.
sourceDirectoryName ou destinationArchiveFileName é null.
Em sourceDirectoryName ou destinationArchiveFileName, o caminho especificado, nome do ficheiro, ou ambos excedem o comprimento máximo definido pelo sistema.
Por exemplo, em plataformas baseadas em Windows, os caminhos devem ter menos de 248 caracteres e os nomes dos ficheiros devem ser inferiores a 260 caracteres.
O caminho especificado em sourceDirectoryName ou destinationArchiveFileName é inválido (por exemplo, está num disco não mapeado).
-ou-
O diretório especificado por sourceDirectoryName não existe.
destinationArchiveFileName já existe.
-ou-
Ocorreu um erro de E/S ao abrir um ficheiro a arquivar.
destinationArchiveFileName especificava um diretório.
-ou-
O interlocutor não tem a permissão necessária.
sourceDirectoryName ou destinationArchiveFileName está num formato inválido.
Uma operação assíncrona é cancelada.
Observações
A estrutura de diretórios é preservada no arquivo, e é feita uma pesquisa recursiva para os ficheiros a arquivar. O arquivo não pode existir. Se o diretório estiver vazio, cria-se um arquivo vazio. Se um ficheiro no diretório não puder ser adicionado ao arquivo, o arquivo ficará incompleto e inválido e o método lançará uma exceção. Este método não inclui o diretório base no arquivo.
Se for encontrado um erro ao adicionar ficheiros ao arquivo, este método deixa de adicionar ficheiros e deixa o arquivo num estado inválido. Os caminhos podem especificar informação relativa ou absoluta do caminho. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual. Se um ficheiro no arquivo tiver dados no campo do último tempo de escrita que não sejam um carimbo temporal zip válido, será usado um valor indicador de 1 de janeiro de 1980 à meia-noite para a última hora modificada do ficheiro. Se já existir uma entrada com o nome especificado no arquivo, é criada uma segunda entrada com um nome idêntico. Como não CompressionLevel é especificado, o padrão fornecido pela implementação do algoritmo de compressão subjacente é usado; o ZipArchive não impõe o seu próprio padrão.
(Atualmente, o algoritmo de compressão subjacente é fornecido pela DeflateStream classe.)
Aplica-se a
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)
- Origem:
- ZipFile.Create.Async.cs
- Origem:
- ZipFile.Create.Async.cs
De forma assíncrona, cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado, usando o nível de compressão especificado, e opcionalmente incluindo o diretório base.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceDirectoryName
- String
O caminho para o diretório a ser arquivado, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- destination
- Stream
O fluxo onde o arquivo zip vai ser armazenado.
- compressionLevel
- CompressionLevel
Um dos valores de enumeração indica se deve enfatizar a velocidade ou a eficácia da compressão ao criar a entrada.
- includeBaseDirectory
- Boolean
true incluir o nome do diretório na sourceDirectoryName raiz do arquivo; false incluir apenas o conteúdo do diretório.
- cancellationToken
- CancellationToken
O token para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceDirectoryName é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.
-ou-
O destination stream não suporta escrita.
sourceDirectoryName ou destination é null.
Em sourceDirectoryName, o caminho, nome do ficheiro, ou ambos especificados excedem o comprimento máximo definido pelo sistema.
sourceDirectoryName é inválido ou não existe (por exemplo, está num disco não mapeado).
Um ficheiro no diretório especificado não podia ser aberto.
-ou-
Ocorreu um erro de E/S ao abrir um ficheiro a arquivar.
sourceDirectoryName contém um formato inválido.
compressionLevel não é um valor válido CompressionLevel .
Uma operação assíncrona é cancelada.
Observações
A estrutura de diretórios do sistema de ficheiros é preservada no arquivo. Se o diretório estiver vazio, cria-se um arquivo vazio.
Use esta sobrecarga de métodos para especificar o nível de compressão e se deve incluir o diretório base no arquivo.
Se um ficheiro no diretório não puder ser adicionado ao arquivo, o arquivo fica incompleto e inválido, e o método lança uma IOException exceção.
Aplica-se a
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)
- Origem:
- ZipFile.Create.Async.cs
- Origem:
- ZipFile.Create.Async.cs
De forma assíncrona, cria um arquivo zip no caminho destinationArchiveFileName que contém os ficheiros e diretórios no diretório especificado por sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceDirectoryName
- String
O caminho para o diretório no sistema de ficheiros a ser arquivado.
- destinationArchiveFileName
- String
O nome do arquivo a ser criado.
- compressionLevel
- CompressionLevel
Um dos valores de enumeração que especifica o nível da compressão (compromisso velocidade/memória vs. tamanho comprimido).
- includeBaseDirectory
- Boolean
true para indicar que um diretório nomeado sourceDirectoryName deve ser incluído na raiz do arquivo.
false indicar que os ficheiros e diretórios presentes sourceDirectoryName devem ser incluídos diretamente no arquivo.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceDirectoryName ou destinationArchiveFileName é uma cadeia de comprimento zero, contém apenas espaços em branco, ou contém um ou mais caracteres inválidos conforme definido por InvalidPathChars.
sourceDirectoryName ou destinationArchiveFileName é null.
Em sourceDirectoryName ou destinationArchiveFileName, o caminho especificado, nome do ficheiro, ou ambos excedem o comprimento máximo definido pelo sistema.
Por exemplo, em plataformas baseadas em Windows, os caminhos devem ter menos de 248 caracteres e os nomes dos ficheiros devem ser inferiores a 260 caracteres.
O caminho especificado em sourceDirectoryName ou destinationArchiveFileName é inválido (por exemplo, está num disco não mapeado).
-ou-
O diretório especificado por sourceDirectoryName não existe.
destinationArchiveFileName já existe.
-ou-
Ocorreu um erro de E/S ao abrir um ficheiro a arquivar.
destinationArchiveFileName especificava um diretório.
-ou-
O interlocutor não tem a permissão necessária.
sourceDirectoryName ou destinationArchiveFileName está num formato inválido.
Uma operação assíncrona é cancelada.
Observações
A estrutura de diretórios é preservada no arquivo, e é feita uma pesquisa recursiva para os ficheiros a arquivar. O arquivo não pode existir. Se o diretório estiver vazio, será criado um arquivo vazio.
Se um ficheiro no diretório não puder ser adicionado ao arquivo, o arquivo ficará incompleto e inválido e o método lançará uma exceção. Este método inclui opcionalmente o diretório base no arquivo.
Se surgir um erro ao adicionar ficheiros ao arquivo, este método deixará de adicionar ficheiros e deixará o arquivo num estado inválido. Os caminhos podem especificar informação relativa ou absoluta do caminho. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual. Se um ficheiro no arquivo tiver dados no campo do último tempo de escrita que não sejam um carimbo temporal zip válido, será usado um valor indicador de 1 de janeiro de 1980 à meia-noite para a última hora modificada do ficheiro. Se uma entrada com o nome especificado já existir no arquivo, será criada uma segunda entrada com um nome idêntico. Como não CompressionLevel é especificado, será usado o padrão fornecido pela implementação do algoritmo de compressão subjacente; o ZipArchive não irá impor o seu próprio padrão.
(Atualmente, o algoritmo de compressão subjacente é fornecido pela DeflateStream classe.)
Aplica-se a
CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)
- Origem:
- ZipFile.Create.Async.cs
- Origem:
- ZipFile.Create.Async.cs
De forma assíncrona, cria um arquivo zip no fluxo especificado que contém os ficheiros e diretórios do diretório especificado, usando o nível de compressão e a codificação de caracteres especificados para os nomes das entradas, e opcionalmente incluindo o diretório base.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, System.IO.Stream destination, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * System.IO.Stream * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destination As Stream, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceDirectoryName
- String
O caminho para o diretório a ser arquivado, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- destination
- Stream
O fluxo onde o arquivo zip vai ser armazenado.
- compressionLevel
- CompressionLevel
Um dos valores de enumeração indica se deve enfatizar a velocidade ou a eficácia da compressão ao criar a entrada.
- includeBaseDirectory
- Boolean
true incluir o nome do diretório na sourceDirectoryName raiz do arquivo; false incluir apenas o conteúdo do diretório.
- entryNameEncoding
- Encoding
A codificação a usar ao ler ou escrever nomes de entradas neste arquivo. Especifique um valor para este parâmetro apenas quando for necessária uma codificação para interoperabilidade com ferramentas de arquivo zip e bibliotecas que não suportem codificação UTF-8 para nomes de entradas ou comentários.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceDirectoryName é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.
-ou-
O destination stream não suporta escrita.
sourceDirectoryName ou destination é null.
Em sourceDirectoryName, o caminho, nome do ficheiro, ou ambos especificados excedem o comprimento máximo definido pelo sistema.
sourceDirectoryName é inválido ou não existe (por exemplo, está num disco não mapeado).
Um ficheiro no diretório especificado não podia ser aberto.
-ou-
Ocorreu um erro de E/S ao abrir um ficheiro a arquivar.
sourceDirectoryName contém um formato inválido.
compressionLevel não é um valor válido CompressionLevel .
Uma operação assíncrona é cancelada.
Observações
A estrutura de diretórios do sistema de ficheiros é preservada no arquivo. Se o diretório estiver vazio, cria-se um arquivo vazio.
Use este método de sobrecarga para especificar o nível de compressão e a codificação de caracteres, e se deve incluir o diretório base no arquivo.
Se um ficheiro no diretório não puder ser adicionado ao arquivo, o arquivo fica incompleto e inválido, e o método lança uma IOException exceção.
Aplica-se a
CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)
- Origem:
- ZipFile.Create.Async.cs
- Origem:
- ZipFile.Create.Async.cs
De forma assíncrona, cria um arquivo zip no caminho destinationArchiveFileName que contém os ficheiros e diretórios no diretório especificado por sourceDirectoryName.
public static System.Threading.Tasks.Task CreateFromDirectoryAsync(string sourceDirectoryName, string destinationArchiveFileName, System.IO.Compression.CompressionLevel compressionLevel, bool includeBaseDirectory, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member CreateFromDirectoryAsync : string * string * System.IO.Compression.CompressionLevel * bool * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function CreateFromDirectoryAsync (sourceDirectoryName As String, destinationArchiveFileName As String, compressionLevel As CompressionLevel, includeBaseDirectory As Boolean, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task
Parâmetros
- sourceDirectoryName
- String
O caminho para o diretório no sistema de ficheiros a ser arquivado.
- destinationArchiveFileName
- String
O nome do arquivo a ser criado.
- compressionLevel
- CompressionLevel
Um dos valores de enumeração que especifica o nível da compressão (compromisso velocidade/memória vs. tamanho comprimido).
- includeBaseDirectory
- Boolean
true para indicar que um diretório nomeado sourceDirectoryName deve ser incluído na raiz do arquivo.
false indicar que os ficheiros e diretórios presentes sourceDirectoryName devem ser incluídos diretamente no arquivo.
- entryNameEncoding
- Encoding
A codificação a usar ao ler ou escrever nomes de entradas e comentários neste ZipArchive.
- cancellationToken
- CancellationToken
O token de cancelamento para monitorizar pedidos de cancelamento.
Devoluções
Exceções
sourceDirectoryName ou destinationArchiveFileName é uma cadeia de comprimento zero, contém apenas espaços em branco, ou contém um ou mais caracteres inválidos conforme definido por InvalidPathChars.
sourceDirectoryName ou destinationArchiveFileName é null.
Em sourceDirectoryName ou destinationArchiveFileName, o caminho especificado, nome do ficheiro, ou ambos excedem o comprimento máximo definido pelo sistema.
Por exemplo, em plataformas baseadas em Windows, os caminhos devem ter menos de 248 caracteres e os nomes dos ficheiros devem ser inferiores a 260 caracteres.
O caminho especificado em sourceDirectoryName ou destinationArchiveFileName é inválido (por exemplo, está num disco não mapeado).
-ou-
O diretório especificado por sourceDirectoryName não existe.
destinationArchiveFileName já existe.
-ou-
Ocorreu um erro de E/S ao abrir um ficheiro a arquivar.
destinationArchiveFileName especificava um diretório.
-ou-
O interlocutor não tem a permissão necessária.
sourceDirectoryName ou destinationArchiveFileName está num formato inválido.
Uma operação assíncrona é cancelada.
Observações
A estrutura de diretórios é preservada no arquivo, e é feita uma pesquisa recursiva para os ficheiros a arquivar. O arquivo não pode existir. Se o diretório estiver vazio, será criado um arquivo vazio.
Se um ficheiro no diretório não puder ser adicionado ao arquivo, o arquivo ficará incompleto e inválido e o método lançará uma exceção. Este método inclui opcionalmente o diretório base no arquivo.
Se surgir um erro ao adicionar ficheiros ao arquivo, este método deixará de adicionar ficheiros e deixará o arquivo num estado inválido. Os caminhos podem especificar informação relativa ou absoluta do caminho. A informação relativa do caminho é interpretada como relativa ao diretório de trabalho atual. Se um ficheiro no arquivo tiver dados no campo do último tempo de escrita que não sejam um carimbo temporal zip válido, será usado um valor indicador de 1 de janeiro de 1980 à meia-noite para a última hora modificada do ficheiro. Se uma entrada com o nome especificado já existir no arquivo, será criada uma segunda entrada com um nome idêntico. Como não CompressionLevel é especificado, será usado o padrão fornecido pela implementação do algoritmo de compressão subjacente; o ZipArchive não irá impor o seu próprio padrão.
(Atualmente, o algoritmo de compressão subjacente é fornecido pela DeflateStream classe.)
Especificar um valor para entryNameEncoding outro que null não é desencorajado.
No entanto, isto pode ser necessário para a interoperabilidade com ferramentas e bibliotecas de arquivo zip que não suportam corretamente a codificação UTF-8 para nomes de entradas ou comentários.
- Se
entryNameEncodingnão for especificado (== null):- Para nomes de ficheiros ou comentários que contenham caracteres fora do intervalo ASCII:
O flag de codificação da linguagem (EFS) será definido no flag de bit de uso geral do cabeçalho local do ficheiro da entrada correspondente, e o UTF-8 (Encoding.UTF8) será usado para codificar o nome da entrada e o comentário em bytes. - Para nomes de ficheiros ou comentários que não contenham caracteres fora do intervalo ASCII:
O flag de codificação da linguagem (EFS) não será definido no flag de bit de uso geral do cabeçalho local do ficheiro da entrada correspondente, e a página de códigos padrão do sistema atual (Encoding.Default) será usada para codificar os nomes das entradas e comentários em bytes.
- Para nomes de ficheiros ou comentários que contenham caracteres fora do intervalo ASCII:
- Se
entryNameEncodingfor especificado (!= null):- O especificado
entryNameEncodingserá sempre usado para codificar os nomes das entradas e comentários em bytes.
O flag de codificação da linguagem (EFS) no flag de bit de uso geral do cabeçalho local do ficheiro para cada entrada será definido se e só se o especificadoentryNameEncodingfor uma codificação UTF-8.
- O especificado
Codificações Unicode que não sejam UTF-8 não podem ser usadas para o entryNameEncoding, caso contrário um ArgumentException é lançado.