ZipFile.ExtractToDirectory Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Extrai todos os arquivos no arquivo zip especificado em um diretório do sistema de arquivos.
Sobrecargas
| ExtractToDirectory(String, String, Encoding, Boolean) |
Extrai todos os arquivos dos arquivos especificados para um diretório do sistema de arquivos. |
| ExtractToDirectory(Stream, String, Encoding, Boolean) |
Extrai todos os arquivos do arquivo zip armazenados no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos, usa a codificação de caracteres especificada para nomes de entrada e, opcionalmente, permite escolher se os arquivos no diretório de destino devem ser substituídos. |
| ExtractToDirectory(String, String, Encoding) |
Extrai todos os arquivos no arquivo zip especificado para um diretório no sistema de arquivos e usa a codificação de caracteres especificada para nomes de entrada. |
| ExtractToDirectory(String, String, Boolean) |
Extrai todos os arquivos dos arquivos especificados para um diretório do sistema de arquivos. |
| ExtractToDirectory(Stream, String, Boolean) |
Extrai todos os arquivos do arquivo zip armazenados no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos e, opcionalmente, permite escolher se os arquivos no diretório de destino devem ser substituídos. |
| ExtractToDirectory(String, String) |
Extrai todos os arquivos no arquivo zip especificado em um diretório do sistema de arquivos. |
| ExtractToDirectory(Stream, String) |
Extrai todos os arquivos do arquivo zip armazenado no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos. |
| ExtractToDirectory(Stream, String, Encoding) |
Extrai todos os arquivos do arquivo zip armazenados no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos e usa a codificação de caracteres especificada para nomes de entrada. |
ExtractToDirectory(String, String, Encoding, Boolean)
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
Extrai todos os arquivos dos arquivos especificados para um diretório do sistema de arquivos.
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : string * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)
Parâmetros
- sourceArchiveFileName
- String
O caminho no sistema de arquivos para os arquivos que devem ser extraídos.
- destinationDirectoryName
- String
O caminho para o diretório de destino no sistema de arquivos.
- entryNameEncoding
- Encoding
A codificação a ser usada ao ler nomes de entrada neste ZipArchive.
- overwriteFiles
- Boolean
true para substituir arquivos; caso contrário, false.
Exceções
sourceArchiveFileName ou destinationDirectoryName é uma cadeia de comprimento zero, contém somente espaço em branco ou contém um ou mais caracteres inválidos, conforme definido por InvalidPathChars.
- ou -
entryNameEncoding é definido com uma codificação Unicode diferente de UTF-8.
sourceArchiveFileName ou destinationDirectoryName é null.
sourceArchiveFileName ou destinationDirectoryName especifica um caminho, um nome de arquivo ou ambos que excedem o tamanho máximo definido pelo sistema.
O caminho especificado por sourceArchiveFileName ou destinationDirectoryName é inválido (por exemplo, ele está em uma unidade não mapeada).
overwriteFiles é false e uma entrada de arquivo morto a ser extraída tem o mesmo nome de um arquivo que já existe no destinationDirectoryName.
- ou -
Ocorreu um erro de E/S.
- ou -
O nome de uma ZipArchiveEntry é uma cadeia de comprimento zero, contém somente espaço em branco ou contém um ou mais caracteres inválidos, conforme definido por InvalidPathChars.
- ou -
A extração de uma ZipArchiveEntry resulta em um destino de arquivo que está fora do diretório de destino (por exemplo, devido aos acessadores de diretório pai).
- ou -
Uma ZipArchiveEntry tem o mesmo nome de uma entrada já extraída dos mesmos arquivos.
O chamador não tem a permissão necessária.
sourceArchiveFileName ou destinationDirectoryName está em um formato inválido.
sourceArchiveFileName não foi encontrado.
Os arquivos especificados por sourceArchiveFileName não são ZipArchive válidos.
- ou -
Uma entrada de arquivo morto não foi encontrada ou foi corrompida.
- ou -
Uma entrada de arquivos foi compactada usando um método de compactação sem suporte.
Comentários
Se houver um erro ao extrair o arquivo morto, o arquivo permanecerá parcialmente extraído.
Cada entrada será extraída de modo que o arquivo extraído tenha o mesmo caminho relativo para o destinationDirectoryName que a entrada tem para o arquivo morto.
Os sourceArchiveFileName parâmetros e destinationDirectoryName aceitam caminhos relativos e absolutos. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
Se um arquivo a ser arquivado tiver uma hora da última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) será usada.
Aplica-se a
ExtractToDirectory(Stream, String, Encoding, Boolean)
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
Extrai todos os arquivos do arquivo zip armazenados no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos, usa a codificação de caracteres especificada para nomes de entrada e, opcionalmente, permite escolher se os arquivos no diretório de destino devem ser substituídos.
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)
Parâmetros
- source
- Stream
O fluxo do qual o arquivo zip deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório no qual os arquivos extraídos serão colocados, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- entryNameEncoding
- Encoding
A codificação a ser usada ao ler ou gravar nomes de entrada nesse arquivo. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para a interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada.
- overwriteFiles
- Boolean
true para substituir arquivos; caso contrário, false.
Exceções
destinationDirectoryName
> é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.
- ou -
entryNameEncoding é definido com uma codificação Unicode diferente de UTF-8.
destinationDirectoryName ou source é null.
O caminho especificado em destinationDirectoryName excede o comprimento máximo definido pelo sistema.
O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).
O nome de uma entrada no arquivo morto é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.
- ou -
A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá acontecer se o nome da entrada contiver acessadores de diretório pai.)
- ou -
overwriteFiles é false e uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.
destinationDirectoryName contém um formato inválido.
O arquivo morto contido no source fluxo não é um arquivo zip válido.
- ou -
Uma entrada de arquivo morto não foi encontrada ou foi corrompida.
- ou -
Uma entrada de arquivo morto foi compactada usando um método de compactação sem suporte.
Comentários
Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos no destinationDirectoryName ou nos arquivos no arquivo zip contido nos source parâmetros são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto. Se um arquivo a ser arquivado tiver uma hora da última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) será usada.
Aplica-se a
ExtractToDirectory(String, String, Encoding)
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
Extrai todos os arquivos no arquivo zip especificado para um diretório no sistema de arquivos e usa a codificação de caracteres especificada para nomes de entrada.
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : string * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding)
Parâmetros
- sourceArchiveFileName
- String
O caminho para o arquivo morto a ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório no qual os arquivos extraídos serão colocados, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- entryNameEncoding
- Encoding
A codificação a ser usada ao ler ou gravar nomes de entrada nesse arquivo. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para a interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada.
Exceções
destinationDirectoryName ou sourceArchiveFileName é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.
- ou -
entryNameEncoding é definido com uma codificação Unicode diferente de UTF-8.
destinationDirectoryName ou sourceArchiveFileName é null.
O caminho especificado no destinationDirectoryName ou sourceArchiveFileName excede o tamanho máximo definido pelo sistema.
O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).
O nome de uma entrada no arquivo morto é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.
- ou -
A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá acontecer se o nome da entrada contiver acessadores de diretório pai.)
- ou -
Uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.
destinationDirectoryName ou sourceArchiveFileName contém um formato inválido.
sourceArchiveFileName não foi encontrado.
O arquivo especificado por sourceArchiveFileName não é um arquivo zip válido.
- ou -
Uma entrada de arquivo morto não foi encontrada ou foi corrompida.
- ou -
Uma entrada de arquivo morto foi compactada usando um método de compactação sem suporte.
Comentários
Esse método cria o diretório especificado e todos os subdiretórios, se necessário. Exceções relacionadas à validação dos caminhos nos destinationDirectoryName parâmetros ou sourceArchiveFileName são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto.
Se entryNameEncoding for definido como um valor diferente nullde , os nomes de entrada serão decodificados de acordo com as seguintes regras:
- Para nomes de entrada em que o sinalizador de codificação de idioma (no sinalizador de bits de uso geral do cabeçalho do arquivo local) não está definido, os nomes de entrada são decodificados usando a codificação especificada.
- Para entradas em que o sinalizador de codificação de idioma é definido, os nomes de entrada são decodificados usando UTF-8.
Se entryNameEncoding for definido nullcomo , os nomes de entrada serão decodificados de acordo com as seguintes regras:
- Para entradas em que o sinalizador de codificação de idioma (no sinalizador de bits de uso geral do cabeçalho do arquivo local) não está definido, os nomes de entrada são decodificados usando a página de código padrão do sistema atual.
- Para entradas em que o sinalizador de codificação de idioma é definido, os nomes de entrada são decodificados usando UTF-8.
Aplica-se a
ExtractToDirectory(String, String, Boolean)
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
Extrai todos os arquivos dos arquivos especificados para um diretório do sistema de arquivos.
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)
Parâmetros
- sourceArchiveFileName
- String
O caminho no sistema de arquivos para os arquivos que devem ser extraídos.
- destinationDirectoryName
- String
O caminho para o diretório de destino no sistema de arquivos.
- overwriteFiles
- Boolean
true para substituir arquivos; caso contrário, false.
Exceções
sourceArchiveFileName ou destinationDirectoryName é uma cadeia de comprimento zero, contém somente espaço em branco ou contém um ou mais caracteres inválidos, conforme definido por InvalidPathChars.
sourceArchiveFileName ou destinationDirectoryName é null.
sourceArchiveFileName ou destinationDirectoryName especifica um caminho, um nome de arquivo ou ambos que excedem o tamanho máximo definido pelo sistema.
O caminho especificado por sourceArchiveFileName ou destinationDirectoryName é inválido (por exemplo, ele está em uma unidade não mapeada).
overwriteFiles é false e destinationDirectoryName já contém um arquivo com o mesmo nome de um arquivo que está sendo extraído.
- ou -
Ocorreu um erro de E/S.
- ou -
O nome de uma ZipArchiveEntry é uma cadeia de comprimento zero, contém somente espaço em branco ou contém um ou mais caracteres inválidos, conforme definido por InvalidPathChars.
- ou -
A extração de uma ZipArchiveEntry resulta em um destino de arquivo que está fora do diretório de destino (por exemplo, devido aos acessadores de diretório pai).
- ou -
Um ZipArchiveEntry tem o mesmo nome de uma entrada do mesmo arquivo que já foi extraído.
O chamador não tem a permissão necessária.
sourceArchiveFileName ou destinationDirectoryName está em um formato inválido.
sourceArchiveFileName não foi encontrado.
Os arquivos especificados por sourceArchiveFileName não são ZipArchive válidos.
- ou -
Uma ZipArchiveEntry não foi encontrada ou estava corrompida.
- ou -
Uma ZipArchiveEntry foi compactada usando um método de compactação sem suporte.
Comentários
Se houver um erro ao extrair o arquivo morto, o arquivo permanecerá parcialmente extraído.
Cada entrada será extraída de modo que o arquivo extraído tenha o mesmo caminho relativo para o destinationDirectoryName que a entrada tem para o arquivo morto.
Os sourceArchiveFileName parâmetros e destinationDirectoryName aceitam caminhos relativos e absolutos. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
Se um arquivo a ser arquivado tiver uma hora da última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) será usada.
Aplica-se a
ExtractToDirectory(Stream, String, Boolean)
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
Extrai todos os arquivos do arquivo zip armazenados no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos e, opcionalmente, permite escolher se os arquivos no diretório de destino devem ser substituídos.
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)
Parâmetros
- source
- Stream
O fluxo do qual o arquivo zip deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório no qual os arquivos extraídos serão colocados, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- overwriteFiles
- Boolean
true para substituir arquivos; caso contrário, false.
Exceções
destinationDirectoryName
> é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.
destinationDirectoryName ou source é null.
O caminho especificado em destinationDirectoryName excede o comprimento máximo definido pelo sistema.
O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).
O nome de uma entrada no arquivo morto é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.
- ou -
A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá acontecer se o nome da entrada contiver acessadores de diretório pai.)
- ou -
overwriteFiles é false e uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.
destinationDirectoryName contém um formato inválido.
O arquivo morto contido no source fluxo não é um arquivo zip válido.
- ou -
Uma entrada de arquivo morto não foi encontrada ou foi corrompida.
- ou -
Uma entrada de arquivo morto foi compactada usando um método de compactação sem suporte.
Comentários
Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos no destinationDirectoryName ou nos arquivos no arquivo zip contido nos source parâmetros são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto. Se um arquivo a ser arquivado tiver uma hora da última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) será usada.
Aplica-se a
ExtractToDirectory(String, String)
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
Extrai todos os arquivos no arquivo zip especificado em um diretório do sistema de arquivos.
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (string sourceArchiveFileName, string destinationDirectoryName);
static member ExtractToDirectory : string * string -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String)
Parâmetros
- sourceArchiveFileName
- String
O caminho para o arquivo morto a ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório no qual os arquivos extraídos serão colocados, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
Exceções
destinationDirectoryName ou sourceArchiveFileName é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.
destinationDirectoryName ou sourceArchiveFileName é null.
O caminho especificado no destinationDirectoryName ou sourceArchiveFileName excede o tamanho máximo definido pelo sistema.
O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).
O nome de uma entrada no arquivo morto é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.
- ou -
A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá acontecer se o nome da entrada contiver acessadores de diretório pai.)
- ou -
Uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.
destinationDirectoryName ou sourceArchiveFileName contém um formato inválido.
sourceArchiveFileName não foi encontrado.
O arquivo especificado por sourceArchiveFileName não é um arquivo zip válido.
- ou -
Uma entrada de arquivo morto não foi encontrada ou foi corrompida.
- ou -
Uma entrada de arquivo morto foi compactada usando um método de compactação sem suporte.
Exemplos
Este exemplo mostra como criar e extrair um arquivo zip usando a ZipFile classe . Ele compacta o conteúdo de uma pasta em um arquivo zip e extrai esse conteúdo para uma nova pasta. Para usar a classe ZipFile, você deve fazer referência ao assembly System.IO.Compression.FileSystem em seu projeto.
using System;
using System.IO.Compression;
class Program
{
static void Main(string[] args)
{
string startPath = @".\start";
string zipPath = @".\result.zip";
string extractPath = @".\extract";
ZipFile.CreateFromDirectory(startPath, zipPath);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
open System.IO.Compression
let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression
Module Module1
Sub Main()
Dim startPath As String = ".\start"
Dim zipPath As String = ".\result.zip"
Dim extractPath As String = ".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
End Sub
End Module
Comentários
Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos nos destinationDirectoryName parâmetros ou sourceArchiveFileName são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto.
Aplica-se a
ExtractToDirectory(Stream, String)
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
Extrai todos os arquivos do arquivo zip armazenado no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos.
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Stream * string -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String)
Parâmetros
- source
- Stream
O fluxo do qual o arquivo zip deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório no qual os arquivos extraídos serão colocados, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
Exceções
destinationDirectoryName
> é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.
destinationDirectoryName ou source é null.
O caminho especificado em destinationDirectoryName excede o comprimento máximo definido pelo sistema.
O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).
O nome de uma entrada no arquivo morto é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.
- ou -
A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá acontecer se o nome da entrada contiver acessadores de diretório pai.)
- ou -
Uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.
destinationDirectoryName contém um formato inválido.
O arquivo morto contido no source fluxo não é um arquivo zip válido.
- ou -
Uma entrada de arquivo morto não foi encontrada ou foi corrompida.
- ou -
Uma entrada de arquivo morto foi compactada usando um método de compactação sem suporte.
Comentários
Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos no destinationDirectoryName ou nos arquivos no arquivo zip contido nos source parâmetros são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto. Se um arquivo a ser arquivado tiver uma hora da última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) será usada.
Aplica-se a
ExtractToDirectory(Stream, String, Encoding)
- Origem:
- ZipFile.Extract.cs
- Origem:
- ZipFile.Extract.cs
Extrai todos os arquivos do arquivo zip armazenados no fluxo especificado e os coloca no diretório de destino especificado no sistema de arquivos e usa a codificação de caracteres especificada para nomes de entrada.
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory (System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding)
Parâmetros
- source
- Stream
O fluxo do qual o arquivo zip deve ser extraído.
- destinationDirectoryName
- String
O caminho para o diretório no qual os arquivos extraídos serão colocados, especificado como um caminho relativo ou absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.
- entryNameEncoding
- Encoding
A codificação a ser usada ao ler ou gravar nomes de entrada nesse arquivo. Especifique um valor para esse parâmetro somente quando uma codificação for necessária para a interoperabilidade com ferramentas de arquivo zip e bibliotecas que não dão suporte à codificação UTF-8 para nomes de entrada.
Exceções
destinationDirectoryName
> é Empty, contém apenas espaço em branco ou contém pelo menos um caractere inválido.
- ou -
entryNameEncoding é definido com uma codificação Unicode diferente de UTF-8.
destinationDirectoryName ou source é null.
O caminho especificado em destinationDirectoryName excede o comprimento máximo definido pelo sistema.
O caminho especificado é inválido (por exemplo, ele está em uma unidade não mapeada).
O nome de uma entrada no arquivo morto é Empty, contém somente espaços em branco ou, pelo menos, um caractere inválido.
- ou -
A extração de uma entrada de arquivo morto criará um arquivo que está fora do diretório especificado por destinationDirectoryName. (Por exemplo, isso poderá acontecer se o nome da entrada contiver acessadores de diretório pai.)
- ou -
Uma entrada de arquivo morto a ser extraída tem o mesmo nome de uma entrada que já foi extraída ou que existe em destinationDirectoryName.
O chamador não tem a permissão necessária para acessar o arquivo morto ou o diretório de destino.
destinationDirectoryName contém um formato inválido.
O arquivo morto contido no source fluxo não é um arquivo zip válido.
- ou -
Uma entrada de arquivo morto não foi encontrada ou foi corrompida.
- ou -
Uma entrada de arquivo morto foi compactada usando um método de compactação sem suporte.
Comentários
Esse método cria o diretório especificado e todos os subdiretórios. O diretório de destino ainda não pode existir. Exceções relacionadas à validação dos caminhos no destinationDirectoryName ou nos arquivos no arquivo zip contido nos source parâmetros são geradas antes da extração. Caso contrário, se ocorrer um erro durante a extração, o arquivo permanecerá parcialmente extraído. Cada arquivo extraído tem o mesmo caminho relativo para o diretório especificado por destinationDirectoryName como sua entrada de origem tem para a raiz do arquivo morto. Se um arquivo a ser arquivado tiver uma hora da última modificação inválida, a primeira data e hora representáveis no formato de carimbo de data/hora zip (meia-noite de 1º de janeiro de 1980) será usada.