ZipFile.ExtractToDirectory Método
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.
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. |
- 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
.NET 9 e outras versões
Produto | Versões |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Standard | 2.1 |
- 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
.NET 9 e .NET 8
Produto | Versões |
---|---|
.NET | 8, 9 |
- 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
.NET 9 e outras versões
Produto | Versões |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- 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
.NET 9 e outras versões
Produto | Versões |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Standard | 2.1 |
- 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
.NET 9 e .NET 8
Produto | Versões |
---|---|
.NET | 8, 9 |
- 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
.NET 9 e outras versões
Produto | Versões |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
- 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
.NET 9 e .NET 8
Produto | Versões |
---|---|
.NET | 8, 9 |
- 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.
Aplica-se a
.NET 9 e .NET 8
Produto | Versões |
---|---|
.NET | 8, 9 |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: