Class SevenZipArchive

Class SevenZipArchive

Nom dels espais: Aspose.Zip.SevenZip Assemblea: Aspose.Zip.dll (25.5.0)

Aquesta classe representa el fitxer d’arxiu 7z. Utilitzeu-lo per compondre i extreure arxius 7z.

public class SevenZipArchive : IArchive, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

Membres heretats

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

Constructors

SevenZipArchive(SevenZipEntrySettings)

Inicialitza una nova instància de la classe Aspose.Zip.SevenZip.SevenZipArchive amb configuracions opcionals per a les seves entrades.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parameters

newEntrySettings SevenZipEntrySettings

Configuracions de compressió i xifra utilitzades per a nous elements afegits Aspose.Zip.SevenZip.SevenZipArchiveEntry.Si no s’especifiqui, s’utilitzaria la compressió LZMA sense xifraci.

Examples

L’exemple següent mostra com comprimir un sol arxiu amb les configuracions predefinides: Comprimir LZMA sense xifració.

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

SevenZipArchive(Tàrrega, Tàrrega)

Inicialitza una nova instància de la classe Aspose.Zip.SevenZip.SevenZipArchive i componeix una llista d’entrada que es pot treure de l’arxiu.

public SevenZipArchive(Stream sourceStream, string password = null)

Parameters

sourceStream Stream

La font de l’arxiu.

password string

Password opcional per a la descriptura. Si els noms de fitxers són encriptats, ha de ser present.

Examples

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

Remarks

Aquest constructor no descomprimeix cap entrada. Veure Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) mètode per descomprimir.

Exceptions

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

L’arxiu conté més d’un codificador. ara només es dóna suport a la compressió LZMA.

SevenZipArchive(Tècnic, Tècnic)

Inicialitza una nova instància de la classe Aspose.Zip.SevenZip.SevenZipArchive i componeix una llista d’entrada que es pot treure de l’arxiu.

public SevenZipArchive(string path, string password = null)

Parameters

path string

El completament qualificat o el camí relatiu a l’arxiu.

password string

Password opcional per a la descriptura. Si els noms de fitxers són encriptats, ha de ser present.

Examples

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

Remarks

Aquest constructor no descomprimeix cap entrada. Veure Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) mètode per descomprimir.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

El client no té el permís d’accés requerit.

ArgumentException

La path’ és buida, només conté espais blancs, o conté caràcters invalidats.

UnauthorizedAccessException

L’accés al fitxer path" es nega.

PathTooLongException

El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.

NotSupportedException

El fitxer a path’ conté una columna (:) al mig de la cadena.

FileNotFoundException

El fitxer no es troba.

DirectoryNotFoundException

La ruta especificada és invalidada, com per exemple estar en un disc no mapat.

IOException

El fitxer ja està obert.

SevenZipArchive(Tàrrega[], El string)

Inicialitza una nova instància de la classe Aspose.Zip.SevenZip.SevenZipArchive des de l’arxiu multi-volum 7z i componeix una llista d’entrada que es pot extreure de l’arxiu.

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

Parameters

parts string []

Passos a cada segment d’arxiu multi-volum 7z respecte a l’ordre

password string

Password opcional per a la descriptura. Si els noms de fitxers són encriptats, ha de ser present.

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

El client no té el permís d’accés requerit.

ArgumentException

El camí a un arxiu és buit, només conté espais blancs, o conté caràcters invalidats.

UnauthorizedAccessException

L’accés a un fitxer es nega.

PathTooLongException

Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.

NotSupportedException

El fitxer d’un camí conté una columna (:) al mig de la cadena.

Properties

Entries

Obté entrades del tipus Aspose.Zip.SevenZip.SevenZipArchiveEntry que constitueix l’arxiu.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

Valor de la propietat

ReadOnlyCollection < SevenZipArchiveEntry >

NewEntrySettings

Configuracions de compressió i xifra utilitzades per a nous elements afegits Aspose.Zip.SevenZip.SevenZipArchiveEntry.

public SevenZipEntrySettings NewEntrySettings { get; }

Valor de la propietat

SevenZipEntrySettings

Methods

CreateEntries(DireccióInfo, Bool)

Afegeix a l’arxiu tots els arxius i directoris recursivament en el directori donat.

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

Parameters

directory DirectoryInfo

Direcció per a la compressi.

includeRootDirectory bool

Indica si incloure o no la pròpia direcció de les arrels.

Returns

SevenZipArchive

L’arxiu amb entrades compostes.

Examples

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

Exceptions

DirectoryNotFoundException

El camí a la direcció directory’ és invalid, com per exemple estar en un disc no mapat.

SecurityException

El convocador no té el permís requerit per accedir a la direcció directory'.

CreateEntries(Tàrrega, Bool)

Afegeix a l’arxiu tots els arxius i directoris recursivament en el directori donat.

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

Parameters

sourceDirectory string

Direcció per a la compressi.

includeRootDirectory bool

Indica si incloure o no la pròpia direcció de les arrels.

Returns

SevenZipArchive

L’arxiu amb entrades compostes.

Examples

Composició de l’arxiu 7z amb la compressió LZMA2.

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

CreateEntry(Arxiu, FileInfo, Bool, SevenZipEntrySettings)

Crear una entrada única dins de l’arxiu.

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

Parameters

name string

El nom de l’entrada.

fileInfo FileInfo

Els metadats del fitxer s’han de compressar.

openImmediately bool

s cert, si obre el fitxer immediatament, d’altra banda obre el fitxer en l’arxiu d’emmagatzematge.

newEntrySettings SevenZipEntrySettings

Configuracions de compressió i xifra utilitzades per afegir el element Aspose.Zip.SevenZip.SevenZipArchiveEntry.

Returns

SevenZipArchiveEntry

Set tipus d’entrada Zip.

Examples

Composa l’arxiu amb entrades encriptades amb diferents contrasenyes cadascuna.

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

El nom d’entrada s’estableix únicament dins del paràmetre.El nom de fitxer proporcionat en el paràmetre no afecta el nom d’entrada.

Si el fitxer s’obre immediatament amb el paràmetre es bloqueja fins que l’arxiu es salva.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

La ruta especificada és invalidada, com per exemple estar en un disc no mapat.

IOException

El fitxer ja està obert.

CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Crear una entrada única dins de l’arxiu.

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

Parameters

name string

El nom de l’entrada.

source Stream

El flux d’entrada per a l’entrada.

newEntrySettings SevenZipEntrySettings

Configuracions de compressió i xifra utilitzades per afegir el element Aspose.Zip.SevenZip.SevenZipArchiveEntry.

fileInfo FileSystemInfo

Els metadats del fitxer o de la carpeta per a ser comprès.

Returns

SevenZipArchiveEntry

Set Zip entrada de l’instància.

Examples

Composar l’arxiu amb l’entrada encripta compresada 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

El nom d’entrada s’estableix únicament dins del paràmetre.El nom de fitxer proporcionat en el paràmetre no afecta el nom d’entrada.

pot referir-se a System.IO.DirectoryInfo si la entrada és directori.

Exceptions

InvalidOperationException

Tothom source’ i fileInfo’ són null o source’ és null i fileInfo’ és per a la direcci.

CreateEntry(Llistat, Llistat, SevenZipEntrySettings)

Crear una entrada única dins de l’arxiu.

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

Parameters

name string

El nom de l’entrada.

source Stream

El flux d’entrada per a l’entrada.

newEntrySettings SevenZipEntrySettings

Configuracions de compressió i xifra utilitzades per afegir el element Aspose.Zip.SevenZip.SevenZipArchiveEntry.

Returns

SevenZipArchiveEntry

Instància d’entrada ZIP.

Examples

Composar l’arxiu 7z amb la compressió LZMA2 i la xifració de totes les entrades.

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(string, string, bool, set ZipEntrySettings)

Crear una entrada única dins de l’arxiu.

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

Parameters

name string

El nom de l’entrada.

path string

El nom completament qualificat del nou fitxer, o el nom de fitxer relatiu a ser comprès.

openImmediately bool

s cert, si obre el fitxer immediatament, d’altra banda obre el fitxer en l’arxiu d’emmagatzematge.

newEntrySettings SevenZipEntrySettings

Configuracions de compressió i xifra utilitzades per afegir el element Aspose.Zip.SevenZip.SevenZipArchiveEntry.

Returns

SevenZipArchiveEntry

Instància d’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

El nom d’entrada s’estableix únicament dins del paràmetre.El nom de fitxer proporcionat en el paràmetre no afecta el nom d’entrada.

Si el fitxer s’obre immediatament amb el paràmetre es bloqueja fins que l’arxiu es salva.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

El client no té el permís d’accés requerit.

ArgumentException

La path’ és buida, només conté espais blancs, o conté caràcters invalidats.

UnauthorizedAccessException

L’accés al fitxer path" es nega.

PathTooLongException

El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.

NotSupportedException

El fitxer a path’ conté una columna (:) al mig de la cadena.

Dispose()

Realitza tasques definides per aplicació associades amb el lliurament, el lliurament o la restauració de recursos no gestionats.

public void Dispose()

Dispose(La botiga)

Realitza tasques definides per aplicació associades amb el lliurament, el lliurament o la restauració de recursos no gestionats.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

S’han de disposar de recursos gestionats.

ExtractToDirectory(Tècnic, Tècnic)

Extrata tots els arxius de l’arxiu a la direcció proporcionada.

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

Parameters

destinationDirectory string

El camí a la direcció per col·locar els arxius extraïts.

password string

Password opcional per a la decrypció de continguts.

Examples

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

Remarks

Si la direcció no existeix, es crear.

Si els noms de fitxers són encriptats, proporciona la contrasenya en Aspose.Zip.SevenZop.SevenZupArchive.#ctor(System.String,Systems. String) o __ WL51.ZIP.seven ZipArkive .# ctor (Sistem.IO.Stream,systema.string).

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters i els noms de fitxers han de ser menys de 260 caràcters.

SecurityException

El sol·licitant no té l’autorització necessària per accedir a la direcció existent.

NotSupportedException

Si el directori no existeix, el recorregut conté un caràcter colon (:) que no forma part d’una etiqueta de disc (“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

El directori especificat per ruta és un arxiu. -o- El nom de la xarxa no és conegut.

InvalidDataException

L’arxiu està corromput.

Save(Stream)

S’estalvia l’arxiu 7z al flux proporcionat.

public void Save(Stream output)

Parameters

output Stream

El flux de destinaci.

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

ha de ser buscable.

Exceptions

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

El codificador no ha comprès les dades.

Save(Tàrrega)

Salva l’arxiu a un arxiu de destinació proporcionat.

public void Save(string destinationFileName)

Parameters

destinationFileName string

El camí de l’arxiu que s’ha de crear. Si el nom de fitxer especificat indica un fitxer existent, serà sobreescrit.

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

s possible guardar un arxiu al mateix camí que es va carregar des. No obstant això, això no es recomana perquè aquest enfocament utilitza la còpia a un arxiu temporal.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

El client no té el permís d’accés requerit.

ArgumentException

El destinationFileName’ és buit, només conté espais blancs, o conté caràcters invalidats.

UnauthorizedAccessException

L’accés al fitxer destinationFileName’ és negat.

PathTooLongException

El nom de fitxer especificat destinationFileName, o ambdós superen la longitud màxima definida pel sistema. Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.

NotSupportedException

El fitxer a destinationFileName’ conté una columna (:) al mig de la cadena.

SaveSplit(Llistat, SplitSevenZipArchiveSaveOptions)

Salva l’arxiu multivolum a la direcció de destinació proporcionada.

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

Parameters

destinationDirectory string

El camí a la direcció on s’han de crear segments d’arxiu.

options SplitSevenZipArchiveSaveOptions

Opcions per a l’emmagatzematge d’arxius, inclòs el nom de fitxer.

Examples

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

Remarks

Aquest mètode componeix diversos () arxius filename.7z.001, filename.7z.002, …, filename.7z.(n).

No es pot fer un arxiu existent multi-volum.

Exceptions

InvalidOperationException

Aquest arxiu va ser obert des de la font existent.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

El sol·licitant no té el permís requerit per accedir a la direcci.

ArgumentException

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

PathTooLongException

El camí especificat supera la longitud màxima definida pel sistema.

 Català