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 null
de , 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 null
como , 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.