Class SevenZipArchive

Class SevenZipArchive

Nome do espaço: Aspose.Zip.SevenZip Assembleia: Aspose.Zip.dll (25.5.0)

Esta classe representa o arquivo 7z. Use-o para compilar e extrair arquivos 7z.

public class SevenZipArchive : IArchive, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

Membros herdados

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Constructors

SevenZipArchive(SevenZipEntrySettings)

Inicia uma nova instância da classe Aspose.Zip.SevenZip.SevenZipArchive com configurações opcionais para as suas entradas.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parameters

newEntrySettings SevenZipEntrySettings

Configurações de compressão e criptografia usadas para novos itens adicionados Aspose.Zip.SevenZip.SevenZipArchiveEntry.Se não especificado, a compressão LZMA sem criptografia seria usada.

Examples

O exemplo a seguir mostra como comprimir um único arquivo com configurações padrão: compressão LZMA sem criptografia.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

SevenZipArchive(Conexão, String)

Inicia uma nova instância da classe Aspose.Zip.SevenZip.SevenZipArchive e compõe uma lista de entrada que pode ser extraída do arquivo.

public SevenZipArchive(Stream sourceStream, string password = null)

Parameters

sourceStream Stream

A fonte do arquivo.

password string

Password opcional para decodificação.Se os nomes de arquivo forem criptografados, ele deve estar presente.

Examples

using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

Este fabricante não descomprime qualquer entrada. ver Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) método para descomprimir.

Exceptions

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

O arquivo contém mais de um codificador. agora apenas a compressão LZMA é suportada.

SevenZipArchive(Título, Título)

Inicia uma nova instância da classe Aspose.Zip.SevenZip.SevenZipArchive e compõe uma lista de entrada que pode ser extraída do arquivo.

public SevenZipArchive(string path, string password = null)

Parameters

path string

O totalmente qualificado ou o caminho relativo para o arquivo.

password string

Password opcional para decodificação.Se os nomes de arquivo forem criptografados, ele deve estar presente.

Examples

using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

Este fabricante não descomprime qualquer entrada. ver Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) método para descomprimir.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

O requerente não tem a permissão necessária para o acesso.

ArgumentException

O path’ é vazio, contém apenas espaços brancos, ou contém caracteres inválidos.

UnauthorizedAccessException

O acesso ao arquivo path" é negado.

PathTooLongException

O nome de arquivo especificado path", ou ambos excede o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas no Windows, os caminhos devem ser menores de 248 caracteres, e os nomes de arquivo devem ser menores de 260 caracteres.

NotSupportedException

O arquivo no path’ contém uma coluna (:) no meio da linha.

FileNotFoundException

O arquivo não foi encontrado.

DirectoryNotFoundException

O caminho especificado é inválido, como estar em uma unidade não mapeada.

IOException

O arquivo já está aberto.

SevenZipArchive(Redação[ ], O String)

Inicia uma nova instância da classe Aspose.Zip.SevenZip.SevenZipArchive do arquivo multi-volume 7z e compõe uma lista de entrada que pode ser extraída do arquivo.

public SevenZipArchive(string[] parts, string password = null)

Parameters

parts string [ ]

Passos para cada segmento do arquivo multi-volume 7z respeitando a ordem

password string

Password opcional para decodificação.Se os nomes de arquivo forem criptografados, ele deve estar presente.

Examples

using (SevenZipArchive archive = new SevenZipArchive(new string[] { "multi.7z.001", "multi.7z.002", "multi.7z.003" }))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Exceptions

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

O requerente não tem a permissão necessária para o acesso.

ArgumentException

O caminho para um arquivo é vazio, contém apenas espaços brancos, ou contém caracteres inválidos.

UnauthorizedAccessException

O acesso a um arquivo é negado.

PathTooLongException

O caminho especificado para uma parte, nome de arquivo, ou ambos, excede o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas no Windows, os caminhos devem ser menores de 248 caracteres, e os nomes de arquivo devem ser menores de 260 caracteres.

NotSupportedException

Um arquivo em um caminho contém uma coluna (:) no meio da corda.

Properties

Entries

Obtenha entradas do Aspose.Zip.SevenZip.SevenZipArchiveEntry tipo que constitui o arquivo.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

Valor da propriedade

ReadOnlyCollection e o PT; SevenZipArchiveEntry >

NewEntrySettings

Configurações de compressão e criptografia usadas para novos itens adicionados Aspose.Zip.SevenZip.SevenZipArchiveEntry.

public SevenZipEntrySettings NewEntrySettings { get; }

Valor da propriedade

SevenZipEntrySettings

Methods

CreateEntries(DiretórioInfo, Bool)

Adicione ao arquivo todos os arquivos e diretórios repetidamente no diretório dado.

public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parameters

directory DirectoryInfo

Diretório para compressão.

includeRootDirectory bool

Indica se incluir o diretório de raiz ou não.

Returns

SevenZipArchive

Arquivo com entradas compostas.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.7z");
}

Exceptions

DirectoryNotFoundException

O caminho para a directory’ é inválido, como estar em um disco não mapeado.

SecurityException

O chamador não tem a permissão necessária para aceder ao directory".

CreateEntries(Remoção, Bool)

Adicione ao arquivo todos os arquivos e diretórios repetidamente no diretório dado.

public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parameters

sourceDirectory string

Diretório para compressão.

includeRootDirectory bool

Indica se incluir o diretório de raiz ou não.

Returns

SevenZipArchive

Arquivo com entradas compostas.

Examples

Compre arquivo 7z com compressão LZMA2.

using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.7z");
}

CreateEntry(Título, FileInfo, Bool, SevenZipEntrySettings)

Crie uma única entrada dentro do arquivo.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

O nome da entrada.

fileInfo FileInfo

Os metadados do arquivo devem ser comprimidos.

openImmediately bool

É verdade, se abrir o arquivo imediatamente, caso contrário, abrir o arquivo em arquivo de armazenamento.

newEntrySettings SevenZipEntrySettings

Configurações de compressão e criptografia usadas para adicionar Aspose.Zip.SevenZip.SevenZipArchiveEntry item.

Returns

SevenZipArchiveEntry

Sete instâncias de entrada Zip.

Examples

Compre arquivo com entradas criptografadas com diferentes senhas cada um.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
        archive.Save(sevenZipFile);
    }
}

Remarks

O nome de entrada é definido apenas dentro do parâmetro.O nome de arquivo fornecido no parâmetro não afeta o nome de entrada.

Se o arquivo for aberto imediatamente com o parâmetro, ele será bloqueado até que o arquivo seja salvo.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

O caminho especificado é inválido, como estar em uma unidade não mapeada.

IOException

O arquivo já está aberto.

CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Crie uma única entrada dentro do arquivo.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parameters

name string

O nome da entrada.

source Stream

O fluxo de entrada para a entrada.

newEntrySettings SevenZipEntrySettings

Configurações de compressão e criptografia usadas para adicionar Aspose.Zip.SevenZip.SevenZipArchiveEntry item.

fileInfo FileSystemInfo

Os metadados do arquivo ou folha para ser comprimido.

Returns

SevenZipArchiveEntry

Introdução de sete Zip.

Examples

Compre arquivo com entrada criptografada com LZMA2.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF}), new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("test1")), new FileInfo("data1.bin")); 
        archive.Save(sevenZipFile);
    }
}

Remarks

O nome de entrada é definido apenas dentro do parâmetro.O nome de arquivo fornecido no parâmetro não afeta o nome de entrada.

Pode referir-se a System.IO.DirectoryInfo se a entrada é diretório.

Exceptions

InvalidOperationException

Tanto source’ e fileInfo’ são nulo ou source’ é nulo e fileInfo’ é para diretório.

CreateEntry(Título: Stream, SevenZipEntrySettings)

Crie uma única entrada dentro do arquivo.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

O nome da entrada.

source Stream

O fluxo de entrada para a entrada.

newEntrySettings SevenZipEntrySettings

Configurações de compressão e criptografia usadas para adicionar Aspose.Zip.SevenZip.SevenZipArchiveEntry item.

Returns

SevenZipArchiveEntry

Instância de entrada ZIP.

Examples

Compre arquivo 7z com LZMA2 compressão e criptografia de todas as entradas.

using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("p@s$"))))
{
    archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
    archive.Save("archive.7z");
}

CreateEntry(Síntese, Síntese, Bool, SevenZipEntrySettings)

Crie uma única entrada dentro do arquivo.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

O nome da entrada.

path string

O nome totalmente qualificado do novo arquivo, ou o nome de arquivo relativo a ser comprimido.

openImmediately bool

É verdade, se abrir o arquivo imediatamente, caso contrário, abrir o arquivo em arquivo de armazenamento.

newEntrySettings SevenZipEntrySettings

Configurações de compressão e criptografia usadas para adicionar Aspose.Zip.SevenZip.SevenZipArchiveEntry item.

Returns

SevenZipArchiveEntry

Instância de entrada ZIP.

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

Remarks

O nome de entrada é definido apenas dentro do parâmetro.O nome de arquivo fornecido no parâmetro não afeta o nome de entrada.

Se o arquivo for aberto imediatamente com o parâmetro, ele será bloqueado até que o arquivo seja salvo.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

O requerente não tem a permissão necessária para o acesso.

ArgumentException

O path’ é vazio, contém apenas espaços brancos, ou contém caracteres inválidos.

UnauthorizedAccessException

O acesso ao arquivo path" é negado.

PathTooLongException

O nome de arquivo especificado path", ou ambos excede o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas no Windows, os caminhos devem ser menores de 248 caracteres, e os nomes de arquivo devem ser menores de 260 caracteres.

NotSupportedException

O arquivo no path’ contém uma coluna (:) no meio da linha.

Dispose()

Exerce tarefas definidas por aplicação associadas à libertação, libertação ou restauração de recursos não gerenciados.

public void Dispose()

Dispose(Bolha)

Exerce tarefas definidas por aplicação associadas à libertação, libertação ou restauração de recursos não gerenciados.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Se os recursos gerenciados devem ser dissolvidos.

ExtractToDirectory(Título, Título)

Extrair todos os arquivos do arquivo para o diretório fornecido.

public void ExtractToDirectory(string destinationDirectory, string password = null)

Parameters

destinationDirectory string

O caminho para o diretório para colocar os arquivos extraídos.

password string

Password Opcional para Descriptografia de Conteúdo.

Examples

using (var archive = new SevenZipArchive("archive.7z")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Se o diretório não existe, será criado.

Se os nomes de arquivo forem criptografados, forneça a senha em Aspose.Zip.SevenZop.SevenZupArchive.#ctor(System.String,Systems. String) ou __ WL51.ZIP.seven ZipArkive .# ctor (Sistem.IO.Stream,sistema.string).

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

O caminho especificado, o nome do arquivo ou ambos excede o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas no Windows, os caminhos devem ser menores de 248 caracteres e os nomes do arquivo devem ser menores de 260 caracteres.

SecurityException

O chamador não tem a permissão necessária para acessar o diretório existente.

NotSupportedException

Se o diretório não existe, o caminho contém um caráter colon (:) que não faz parte de uma etiqueta de disco (“C:”).

ArgumentException

destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method. -or- path is prefixed with, or contains, only a colon character (:).

IOException

O diretório especificado pelo caminho é um arquivo. -or- O nome da rede não é conhecido.

InvalidDataException

O arquivo é corrompido.

Save(Stream)

Salve arquivo 7z para o fluxo fornecido.

public void Save(Stream output)

Parameters

output Stream

fluxo de destino.

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
  using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
  {
    using (var archive = new SevenZipArchive())
    {
      archive.CreateEntry("data", source);
      archive.Save(sevenZipFile);
    }
  }
}

Remarks

Deve ser procurável.

Exceptions

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

O encoder não conseguiu comprimir os dados.

Save(Redação)

Salve arquivo para um arquivo de destino fornecido.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Se o nome do arquivo especificado aponta para um arquivo existente, ele será sobreescrito.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
   using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
   {
      archive.CreateEntry("data", source);
      archive.Save("archive.7z");
   }
}

Remarks

É possível salvar um arquivo no mesmo caminho que foi carregado. no entanto, isso não é recomendado porque esta abordagem usa a cópia para um arquivo temporário.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

O requerente não tem a permissão necessária para o acesso.

ArgumentException

A destinationFileName’ é vazia, contém apenas espaços brancos, ou contém caracteres inválidos.

UnauthorizedAccessException

O acesso ao arquivo destinationFileName’ é negado.

PathTooLongException

O nome de arquivo especificado destinationFileName, ou ambos excede o comprimento máximo definido pelo sistema. Por exemplo, em plataformas baseadas no Windows, os caminhos devem ser menores de 248 caracteres, e os nomes de arquivo devem ser menores de 260 caracteres.

NotSupportedException

O arquivo na destinationFileName’ contém uma coluna (:) no meio da linha.

SaveSplit(Título: SplitSevenZipArchiveSaveOptions)

Salve o arquivo multi-volume para o directorio de destino fornecido.

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

Parameters

destinationDirectory string

O caminho para o directorio onde os segmentos de arquivo devem ser criados.

options SplitSevenZipArchiveSaveOptions

Opções de armazenamento de arquivos, incluindo o nome do arquivo.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.SaveSplit(@"C:\Folder",  new SplitSevenZipArchiveSaveOptions("volume", 65536));
}

Remarks

Este método compõe vários () arquivos filename.7z.001, filename.7z.002, …, filename.7z.(n).

Não é possível fazer arquivos existentes multi-volume.

Exceptions

InvalidOperationException

Este arquivo foi aberto a partir da fonte existente.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

O chamador não tem a permissão necessária para aceder ao diretório.

ArgumentException

destinationDirectory’ contains invalid characters such as “, >, <, or |.

PathTooLongException

O percurso especificado excede o comprimento máximo definido pelo sistema.

 Português