ZipFile.CreateFromDirectoryAsync Método

Definição

Sobrecargas

Nome Description
CreateFromDirectoryAsync(String, Stream, CancellationToken)

Cria de forma assíncrona um arquivo zip no fluxo especificado que contém os arquivos e diretórios do diretório especificado.

CreateFromDirectoryAsync(String, String, CancellationToken)

Cria de forma assíncrona um arquivo zip no caminho destinationArchiveFileName que contém os arquivos e diretórios do diretório especificado por sourceDirectoryName.

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, CancellationToken)

Cria de forma assíncrona um arquivo zip no fluxo especificado que contém os arquivos e diretórios do diretório especificado, usando o nível de compactação especificado e, opcionalmente, incluindo o diretório base.

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)

Cria de forma assíncrona um arquivo zip no caminho destinationArchiveFileName que contém os arquivos e diretórios no diretório especificado por sourceDirectoryName.

CreateFromDirectoryAsync(String, Stream, CompressionLevel, Boolean, Encoding, CancellationToken)

Cria de forma assíncrona um arquivo zip no fluxo especificado que contém os arquivos e diretórios do diretório especificado, usando o nível de compactação especificado e a codificação de caracteres para nomes de entrada e, opcionalmente, incluindo o diretório base.

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)

Cria de forma assíncrona um arquivo zip no caminho destinationArchiveFileName que contém os arquivos e diretórios no diretório especificado por sourceDirectoryName.

CreateFromDirectoryAsync(String, Stream, CancellationToken)

Origem:
ZipFile.Create.Async.cs
Origem:
ZipFile.Create.Async.cs

Cria de forma assíncrona um arquivo zip no fluxo especificado que contém os arquivos 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 deve ser armazenado.

cancellationToken
CancellationToken

O token de cancelamento a ser monitorado para solicitações de cancelamento.

Retornos

Exceções

sourceDirectoryName é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

O destination fluxo não dá suporte à gravação.

sourceDirectoryName ou destination é null.

Em sourceDirectoryName, o caminho especificado, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

sourceDirectoryName é inválido ou não existe (por exemplo, ele está em uma unidade não mapeada).

Não foi possível abrir um arquivo no diretório especificado.

- ou -

Ocorreu um erro de E/S ao abrir um arquivo a ser arquivado.

sourceDirectoryName contém um formato inválido.

Uma operação assíncrona é cancelada.

Comentários

A estrutura de diretório do sistema de arquivos é preservada no arquivo morto. Se o diretório estiver vazio, um arquivo morto vazio será criado.

Essa sobrecarga de método não inclui o diretório base no arquivo morto e não permite que você especifique um nível de compactação.

Se você quiser incluir o diretório base ou especificar um nível de compactação, chame a sobrecarga do CreateFromDirectory(String, Stream, CompressionLevel, Boolean) método.

Se um arquivo no diretório não puder ser adicionado ao arquivo morto, o arquivo será deixado incompleto e inválido e o método gerará uma exceção IOException .

Aplica-se a

CreateFromDirectoryAsync(String, String, CancellationToken)

Origem:
ZipFile.Create.Async.cs
Origem:
ZipFile.Create.Async.cs

Cria de forma assíncrona um arquivo zip no caminho destinationArchiveFileName que contém os arquivos 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 arquivos a ser arquivado.

destinationArchiveFileName
String

O nome do arquivo a ser criado.

cancellationToken
CancellationToken

O token de cancelamento a ser monitorado para solicitações de cancelamento.

Retornos

Exceções

sourceDirectoryName ou destinationArchiveFileName é uma cadeia de caracteres de comprimento zero, contém apenas espaço 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, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

Por exemplo, em plataformas baseadas no Windows, os caminhos devem ter menos de 248 caracteres e os nomes de arquivo devem ter menos de 260 caracteres.

O caminho especificado ou sourceDirectoryNamedestinationArchiveFileName inválido (por exemplo, ele está em uma unidade não mapeada).

- ou -

O diretório especificado por sourceDirectoryName não existe.

destinationArchiveFileName já existe.

- ou -

Ocorreu um erro de E/S ao abrir um arquivo a ser arquivado.

destinationArchiveFileName especificou um diretório.

- ou -

O chamador não tem a permissão necessária.

sourceDirectoryName ou destinationArchiveFileName está em um formato inválido.

Uma operação assíncrona é cancelada.

Comentários

A estrutura do diretório é preservada no arquivo morto e uma pesquisa recursiva é feita para que os arquivos sejam arquivados. O arquivo não deve existir. Se o diretório estiver vazio, um arquivo morto vazio será criado. Se um arquivo no diretório não puder ser adicionado ao arquivo morto, o arquivo será deixado incompleto e inválido e o método gerará uma exceção. Esse método não inclui o diretório base no arquivo morto.

Se um erro for encontrado ao adicionar arquivos ao arquivo morto, esse método interromperá a adição de arquivos e deixará o arquivo em um estado inválido. Os caminhos têm permissão para especificar informações de caminho relativas ou absolutas. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual. Se um arquivo no arquivo tiver dados no último campo de tempo de gravação que não seja um carimbo de data/hora zip válido, um valor indicador de 1980 1º de janeiro à meia-noite será usado para o último horário modificado do arquivo. Se já existir uma entrada com o nome especificado no arquivo morto, será criada uma segunda entrada que tenha um nome idêntico. Como nenhum CompressionLevel é especificado, o padrão fornecido pela implementação do algoritmo de compactação subjacente é usado; ele ZipArchive não imporá seu próprio padrão.

(Atualmente, o algoritmo de compactaçã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

Cria de forma assíncrona um arquivo zip no fluxo especificado que contém os arquivos e diretórios do diretório especificado, usando o nível de compactaçã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 deve ser armazenado.

compressionLevel
CompressionLevel

Um dos valores de enumeração que indica se a velocidade ou a eficácia da compactação devem ser enfatizadas ao criar a entrada.

includeBaseDirectory
Boolean

true para incluir o nome do sourceDirectoryName diretório na raiz do arquivo morto; false para incluir apenas o conteúdo do diretório.

cancellationToken
CancellationToken

O token a ser monitorado para solicitações de cancelamento.

Retornos

Exceções

sourceDirectoryName é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

O destination fluxo não dá suporte à gravação.

sourceDirectoryName ou destination é null.

Em sourceDirectoryName, o caminho especificado, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

sourceDirectoryName é inválido ou não existe (por exemplo, ele está em uma unidade não mapeada).

Não foi possível abrir um arquivo no diretório especificado.

- ou -

Ocorreu um erro de E/S ao abrir um arquivo a ser arquivado.

sourceDirectoryName contém um formato inválido.

compressionLevel não é um valor válido CompressionLevel .

Uma operação assíncrona é cancelada.

Comentários

A estrutura de diretório do sistema de arquivos é preservada no arquivo morto. Se o diretório estiver vazio, um arquivo morto vazio será criado.

Use essa sobrecarga de método para especificar o nível de compactação e se deve incluir o diretório base no arquivo morto.

Se um arquivo no diretório não puder ser adicionado ao arquivo morto, o arquivo será deixado incompleto e inválido e o método gerará uma exceção IOException .

Aplica-se a

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, CancellationToken)

Origem:
ZipFile.Create.Async.cs
Origem:
ZipFile.Create.Async.cs

Cria de forma assíncrona um arquivo zip no caminho destinationArchiveFileName que contém os arquivos 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 arquivos 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 compactação (velocidade/memória versus compensação de tamanho compactado).

includeBaseDirectory
Boolean

true para indicar que um diretório nomeado sourceDirectoryName deve ser incluído na raiz do arquivo morto. false para indicar que os arquivos e diretórios devem sourceDirectoryName ser incluídos diretamente no arquivo morto.

cancellationToken
CancellationToken

O token de cancelamento a ser monitorado para solicitações de cancelamento.

Retornos

Exceções

sourceDirectoryName ou destinationArchiveFileName é uma cadeia de caracteres de comprimento zero, contém apenas espaço 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, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

Por exemplo, em plataformas baseadas no Windows, os caminhos devem ter menos de 248 caracteres e os nomes de arquivo devem ter menos de 260 caracteres.

O caminho especificado ou sourceDirectoryNamedestinationArchiveFileName inválido (por exemplo, ele está em uma unidade não mapeada).

- ou -

O diretório especificado por sourceDirectoryName não existe.

destinationArchiveFileName já existe.

- ou -

Ocorreu um erro de E/S ao abrir um arquivo a ser arquivado.

destinationArchiveFileName especificou um diretório.

- ou -

O chamador não tem a permissão necessária.

sourceDirectoryName ou destinationArchiveFileName está em um formato inválido.

Uma operação assíncrona é cancelada.

Comentários

A estrutura do diretório é preservada no arquivo morto e uma pesquisa recursiva é feita para que os arquivos sejam arquivados. O arquivo não deve existir. Se o diretório estiver vazio, um arquivo morto vazio será criado.

Se um arquivo no diretório não puder ser adicionado ao arquivo morto, o arquivo será deixado incompleto e inválido e o método gerará uma exceção. Opcionalmente, esse método inclui o diretório base no arquivo morto.

Se um erro for encontrado ao adicionar arquivos ao arquivo morto, esse método interromperá a adição de arquivos e deixará o arquivo em um estado inválido. Os caminhos têm permissão para especificar informações de caminho relativas ou absolutas. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual. Se um arquivo no arquivo tiver dados no último campo de tempo de gravação que não seja um carimbo de data/hora zip válido, um valor indicador de 1980 1º de janeiro à meia-noite será usado para o último horário modificado do arquivo. Se uma entrada com o nome especificado já existir no arquivo morto, uma segunda entrada será criada com um nome idêntico. Como nenhum CompressionLevel é especificado, o padrão fornecido pela implementação do algoritmo de compactação subjacente será usado; ele ZipArchive não imporá seu próprio padrão.

(Atualmente, o algoritmo de compactaçã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

Cria de forma assíncrona um arquivo zip no fluxo especificado que contém os arquivos e diretórios do diretório especificado, usando o nível de compactação especificado e a codificação de caracteres para nomes de entrada 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 deve ser armazenado.

compressionLevel
CompressionLevel

Um dos valores de enumeração que indica se a velocidade ou a eficácia da compactação devem ser enfatizadas ao criar a entrada.

includeBaseDirectory
Boolean

true para incluir o nome do sourceDirectoryName diretório na raiz do arquivo morto; false para incluir apenas o conteúdo do diretório.

entryNameEncoding
Encoding

A codificação a ser usada ao ler ou gravar nomes de entrada neste arquivo morto. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada ou comentários.

cancellationToken
CancellationToken

O token de cancelamento a ser monitorado para solicitações de cancelamento.

Retornos

Exceções

sourceDirectoryName é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.

- ou -

O destination fluxo não dá suporte à gravação.

sourceDirectoryName ou destination é null.

Em sourceDirectoryName, o caminho especificado, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

sourceDirectoryName é inválido ou não existe (por exemplo, ele está em uma unidade não mapeada).

Não foi possível abrir um arquivo no diretório especificado.

- ou -

Ocorreu um erro de E/S ao abrir um arquivo a ser arquivado.

sourceDirectoryName contém um formato inválido.

compressionLevel não é um valor válido CompressionLevel .

Uma operação assíncrona é cancelada.

Comentários

A estrutura de diretório do sistema de arquivos é preservada no arquivo morto. Se o diretório estiver vazio, um arquivo morto vazio será criado.

Use essa sobrecarga de método para especificar o nível de compactação e a codificação de caracteres e se deseja incluir o diretório base no arquivo morto.

Se um arquivo no diretório não puder ser adicionado ao arquivo morto, o arquivo será deixado incompleto e inválido e o método gerará uma exceção IOException .

Aplica-se a

CreateFromDirectoryAsync(String, String, CompressionLevel, Boolean, Encoding, CancellationToken)

Origem:
ZipFile.Create.Async.cs
Origem:
ZipFile.Create.Async.cs

Cria de forma assíncrona um arquivo zip no caminho destinationArchiveFileName que contém os arquivos 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 arquivos 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 compactação (velocidade/memória versus compensação de tamanho compactado).

includeBaseDirectory
Boolean

true para indicar que um diretório nomeado sourceDirectoryName deve ser incluído na raiz do arquivo morto. false para indicar que os arquivos e diretórios devem sourceDirectoryName ser incluídos diretamente no arquivo morto.

entryNameEncoding
Encoding

A codificação a ser usada ao ler ou gravar nomes de entrada e comentários neste ZipArchive.

cancellationToken
CancellationToken

O token de cancelamento a ser monitorado para solicitações de cancelamento.

Retornos

Exceções

sourceDirectoryName ou destinationArchiveFileName é uma cadeia de caracteres de comprimento zero, contém apenas espaço 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, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

Por exemplo, em plataformas baseadas no Windows, os caminhos devem ter menos de 248 caracteres e os nomes de arquivo devem ter menos de 260 caracteres.

O caminho especificado ou sourceDirectoryNamedestinationArchiveFileName inválido (por exemplo, ele está em uma unidade não mapeada).

- ou -

O diretório especificado por sourceDirectoryName não existe.

destinationArchiveFileName já existe.

- ou -

Ocorreu um erro de E/S ao abrir um arquivo a ser arquivado.

destinationArchiveFileName especificou um diretório.

- ou -

O chamador não tem a permissão necessária.

sourceDirectoryName ou destinationArchiveFileName está em um formato inválido.

Uma operação assíncrona é cancelada.

Comentários

A estrutura do diretório é preservada no arquivo morto e uma pesquisa recursiva é feita para que os arquivos sejam arquivados. O arquivo não deve existir. Se o diretório estiver vazio, um arquivo morto vazio será criado.

Se um arquivo no diretório não puder ser adicionado ao arquivo morto, o arquivo será deixado incompleto e inválido e o método gerará uma exceção. Opcionalmente, esse método inclui o diretório base no arquivo morto.

Se um erro for encontrado ao adicionar arquivos ao arquivo morto, esse método interromperá a adição de arquivos e deixará o arquivo em um estado inválido. Os caminhos têm permissão para especificar informações de caminho relativas ou absolutas. As informações de caminho relativo são interpretadas como relativas ao diretório de trabalho atual. Se um arquivo no arquivo tiver dados no último campo de tempo de gravação que não seja um carimbo de data/hora zip válido, um valor indicador de 1980 1º de janeiro à meia-noite será usado para o último horário modificado do arquivo. Se uma entrada com o nome especificado já existir no arquivo morto, uma segunda entrada será criada com um nome idêntico. Como nenhum CompressionLevel é especificado, o padrão fornecido pela implementação do algoritmo de compactação subjacente será usado; ele ZipArchive não imporá seu próprio padrão.

(Atualmente, o algoritmo de compactação subjacente é fornecido pela DeflateStream classe.)

Especificar um valor diferente entryNameEncoding de null não é desencorajado.

No entanto, isso pode ser necessário para interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte correto à codificação UTF-8 para nomes de entrada ou comentários.

  • Se entryNameEncoding não for especificado (== null):
    • Para nomes de arquivo ou comentários que contêm caracteres fora do intervalo ASCII:
      O sinalizador de codificação de idioma (EFS) será definido no sinalizador de bits de finalidade geral do cabeçalho de arquivo local da entrada correspondente, e UTF-8 (Encoding.UTF8) será usado para codificar o nome da entrada e comentar em bytes.
    • Para nomes de arquivo ou comentários que não contêm caracteres fora do intervalo ASCII:
      O sinalizador de codificação de idioma (EFS) não será definido no sinalizador de bits de finalidade geral do cabeçalho de arquivo local da entrada correspondente e a página de código padrão do sistema atual (Encoding.Default) será usada para codificar os nomes de entrada e comentários em bytes.
  • Se entryNameEncoding for especificado (!= null):
    • O especificado entryNameEncoding sempre será usado para codificar os nomes de entrada e os comentários em bytes.
      O sinalizador de codificação de idioma (EFS) no sinalizador de bits de finalidade geral do cabeçalho de arquivo local para cada entrada será definido se e somente se o especificado entryNameEncoding for uma codificação UTF-8.

Codificações Unicode diferentes de UTF-8 não podem ser usadas para o entryNameEncoding, caso contrário, uma ArgumentException é gerada.

Aplica-se a