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
Implements
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
sourceStream’ is not seekable.
sourceStream’ is null.
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
path’ is null.
O requerente não tem a permissão necessária para o acesso.
O path’ é vazio, contém apenas espaços brancos, ou contém caracteres inválidos.
O acesso ao arquivo path" é negado.
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.
O arquivo no path’ contém uma coluna (:) no meio da linha.
O arquivo não foi encontrado.
O caminho especificado é inválido, como estar em uma unidade não mapeada.
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
parts’ is null.
parts’ has no entries.
O requerente não tem a permissão necessária para o acesso.
O caminho para um arquivo é vazio, contém apenas espaços brancos, ou contém caracteres inválidos.
O acesso a um arquivo é negado.
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.
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
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
Arquivo com entradas compostas.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
O caminho para a directory’ é inválido, como estar em um disco não mapeado.
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
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
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
fileInfo’ is read-only or is a directory.
O caminho especificado é inválido, como estar em uma unidade não mapeada.
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
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
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
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
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
path’ is null.
O requerente não tem a permissão necessária para o acesso.
O path’ é vazio, contém apenas espaços brancos, ou contém caracteres inválidos.
O acesso ao arquivo path" é negado.
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.
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
destinationDirectory’ is null.
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.
O chamador não tem a permissão necessária para acessar o diretório existente.
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:”).
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 (:).
O diretório especificado pelo caminho é um arquivo. -or- O nome da rede não é conhecido.
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
output’ does not support seeking.
output’ is null.
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
destinationFileName’ is null.
O requerente não tem a permissão necessária para o acesso.
A destinationFileName’ é vazia, contém apenas espaços brancos, ou contém caracteres inválidos.
O acesso ao arquivo destinationFileName’ é negado.
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.
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
Este arquivo foi aberto a partir da fonte existente.
destinationDirectory’ is null.
O chamador não tem a permissão necessária para aceder ao diretório.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
O percurso especificado excede o comprimento máximo definido pelo sistema.