Class SevenZipArchive

Class SevenZipArchive

Il nome: Aspose.Zip.SevenZip Assemblea: Aspose.Zip.dll (25.5.0)

Questa classe rappresenta il file di archivio 7z. Utilizza per compilare e estrarre archivi 7z.

public class SevenZipArchive : IArchive, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

I membri ereditari

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

Constructors

SevenZipArchive(SevenZipEntrySettings)

Inizia una nuova instanza della classe Aspose.Zip.SevenZip.SevenZipArchive con impostazioni facoltative per le sue entrate.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parameters

newEntrySettings SevenZipEntrySettings

Impostazioni di compressione e crittografia utilizzate per gli articoli Aspose.Zip.SevenZip.SevenZipArchiveEntry aggiunti.Se non specificato, LZMA compressione senza crittografia sarebbe usato.

Examples

Il seguente esempio mostra come comprimere un singolo file con le impostazioni predefinite: LZMA compressione senza crittografia.

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

SevenZipArchive(Strumento, Strumento)

Inizia una nuova instanza della classe Aspose.Zip.SevenZip.SevenZipArchive e compone un elenco di entrate che può essere estratto dall’archivio.

public SevenZipArchive(Stream sourceStream, string password = null)

Parameters

sourceStream Stream

La fonte dell’archivio.

password string

Password opzionale per la decrittura. se i nomi dei file sono crittografati, deve essere presente.

Examples

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

Remarks

Questo costruttore non decomprime nessuna entrata. vedi Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metodo per la decompressione.

Exceptions

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

L’archivio contiene più di un codificatore. ora solo la compressione LZMA è supportata.

SevenZipArchive(String e String)

Inizia una nuova instanza della classe Aspose.Zip.SevenZip.SevenZipArchive e compone un elenco di entrate che può essere estratto dall’archivio.

public SevenZipArchive(string path, string password = null)

Parameters

path string

Il percorso completamente qualificato o relativo al file di archivio.

password string

Password opzionale per la decrittura. se i nomi dei file sono crittografati, deve essere presente.

Examples

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

Remarks

Questo costruttore non decomprime nessuna entrata. vedi Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metodo per la decompressione.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Il chiamante non ha il permesso di accesso richiesto.

ArgumentException

La path’ è vuota, contiene solo spazi bianchi, o contiene caratteri invalidi.

UnauthorizedAccessException

L’accesso al file path" è rifiutato.

PathTooLongException

La specifica path’, nome del file, o entrambi superano la lunghezza massima definita dal sistema. ad esempio, su piattaforme basate su Windows, i percorsi devono essere meno di 248 caratteri, e i nomi del file devono essere meno di 260 caratteri.

NotSupportedException

Il file in path’ contiene una colonna (:) nel mezzo della riga.

FileNotFoundException

Il file non è trovato.

DirectoryNotFoundException

Il percorso specificato è invalido, ad esempio essere su un drive non mappato.

IOException

Il file è già aperto.

SevenZipArchive(String[ ], di string)

Initializza una nuova instanza della classe Aspose.Zip.SevenZip.SevenZipArchive dall’archivio multi-volume 7z e compone una lista di entrate che può essere estratta dall’archivio.

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

Parameters

parts string [ ]

Passaggi per ogni segmento di archivio multi-volume 7z rispettando l’ordine

password string

Password opzionale per la decrittura. se i nomi dei file sono crittografati, deve essere 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

Il chiamante non ha il permesso di accesso richiesto.

ArgumentException

Il percorso verso un file è vuoto, contiene solo spazi bianchi, o contiene caratteri invalidi.

UnauthorizedAccessException

L’accesso a un file è negato.

PathTooLongException

Il percorso specificato a una parte, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, su piattaforme basate su Windows, i percorsi devono essere meno di 248 caratteri, e i nomi del file devono essere meno di 260 caratteri.

NotSupportedException

Il file su un percorso contiene una colonna (:) nel mezzo della riga.

Properties

Entries

Riceve le entrate di Aspose.Zip.SevenZip.SevenZipArchiveEntry tipo che costituisce l’archivio.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

Valore di proprietà

ReadOnlyCollection di < SevenZipArchiveEntry >

NewEntrySettings

Impostazioni di compressione e crittografia utilizzate per gli articoli Aspose.Zip.SevenZip.SevenZipArchiveEntry aggiunti.

public SevenZipEntrySettings NewEntrySettings { get; }

Valore di proprietà

SevenZipEntrySettings

Methods

CreateEntries(Sito ufficiale, bool)

Aggiungi all’archivio tutti i file e i directory recursivamente nel directory dato.

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

Parameters

directory DirectoryInfo

Direttore per la compressione.

includeRootDirectory bool

Indica se includere lo stesso directory root o meno.

Returns

SevenZipArchive

L’archivio con entrate composte.

Examples

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

Exceptions

DirectoryNotFoundException

Il percorso verso la directory’ è invalido, ad esempio essere su un disco non mappato.

SecurityException

Il chiamante non ha il permesso richiesto per accedere alla directory".

CreateEntries(String e Bool)

Aggiungi all’archivio tutti i file e i directory recursivamente nel directory dato.

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

Parameters

sourceDirectory string

Direttore per la compressione.

includeRootDirectory bool

Indica se includere lo stesso directory root o meno.

Returns

SevenZipArchive

L’archivio con entrate composte.

Examples

Composto archivio 7z con la compressione LZMA2.

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

CreateEntry(stringa, FileInfo, bool, SevenZipEntrySettings)

Creare un singolo ingresso all’interno dell’archivio.

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

Parameters

name string

Il nome dell’ingresso.

fileInfo FileInfo

I metadati del file devono essere compressi.

openImmediately bool

È vero, se si apre immediatamente il file, altrimenti si apre il file su archivio di archiviazione.

newEntrySettings SevenZipEntrySettings

Impostazioni di compressione e crittografia utilizzate per aggiungere Aspose.Zip.SevenZip.SevenZipArchiveEntry.

Returns

SevenZipArchiveEntry

Settimana di ingresso Zip.

Examples

Composta archivio con entrate crittografate con diverse password ciascuno.

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

Il nome di ingresso è impostato esclusivamente all’interno del parametro.Il nome del file fornito nel parametro non influisce sul nome di ingresso.

Se il file viene aperto immediatamente con il parametro viene bloccato fino a quando l’archivio è salvato.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Il percorso specificato è invalido, ad esempio essere su un drive non mappato.

IOException

Il file è già aperto.

CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Creare un singolo ingresso all’interno dell’archivio.

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

Parameters

name string

Il nome dell’ingresso.

source Stream

Il flusso di ingresso per l’ingresso.

newEntrySettings SevenZipEntrySettings

Impostazioni di compressione e crittografia utilizzate per aggiungere Aspose.Zip.SevenZip.SevenZipArchiveEntry.

fileInfo FileSystemInfo

I metadati del file o della cartella da comprimere.

Returns

SevenZipArchiveEntry

Settimo caso di ingresso.

Examples

Composta l’archivio con l’ingresso crittografato compreso 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

Il nome di ingresso è impostato esclusivamente all’interno del parametro.Il nome del file fornito nel parametro non influisce sul nome di ingresso.

può riferirsi a System.IO.DirectoryInfo se l’ingresso è directory.

Exceptions

InvalidOperationException

Entrambi i source’ e fileInfo’ sono null o source’ è null e fileInfo’ è per directory.

CreateEntry(String, Stream, SevenZipEntrySettings)

Creare un singolo ingresso all’interno dell’archivio.

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

Parameters

name string

Il nome dell’ingresso.

source Stream

Il flusso di ingresso per l’ingresso.

newEntrySettings SevenZipEntrySettings

Impostazioni di compressione e crittografia utilizzate per aggiungere Aspose.Zip.SevenZip.SevenZipArchiveEntry.

Returns

SevenZipArchiveEntry

Introduzione di Zip.

Examples

Composta l’archivio 7z con LZMA2 compressione e crittografia di tutte le entrate.

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, SevenZipEntrySettings)

Creare un singolo ingresso all’interno dell’archivio.

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

Parameters

name string

Il nome dell’ingresso.

path string

Il nome del nuovo file o il relativo nome del file da comprimere.

openImmediately bool

È vero, se si apre immediatamente il file, altrimenti si apre il file su archivio di archiviazione.

newEntrySettings SevenZipEntrySettings

Impostazioni di compressione e crittografia utilizzate per aggiungere Aspose.Zip.SevenZip.SevenZipArchiveEntry.

Returns

SevenZipArchiveEntry

Introduzione di 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

Il nome di ingresso è impostato esclusivamente all’interno del parametro.Il nome del file fornito nel parametro non influisce sul nome di ingresso.

Se il file viene aperto immediatamente con il parametro viene bloccato fino a quando l’archivio è salvato.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Il chiamante non ha il permesso di accesso richiesto.

ArgumentException

La path’ è vuota, contiene solo spazi bianchi, o contiene caratteri invalidi.

UnauthorizedAccessException

L’accesso al file path" è rifiutato.

PathTooLongException

La specifica path’, nome del file, o entrambi superano la lunghezza massima definita dal sistema. ad esempio, su piattaforme basate su Windows, i percorsi devono essere meno di 248 caratteri, e i nomi del file devono essere meno di 260 caratteri.

NotSupportedException

Il file in path’ contiene una colonna (:) nel mezzo della riga.

Dispose()

Esegue compiti definiti in applicazione associati al rilascio, al rilascio o al riutilizzo di risorse non gestite.

public void Dispose()

Dispose(di bool)

Esegue compiti definiti in applicazione associati al rilascio, al rilascio o al riutilizzo di risorse non gestite.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Le risorse gestite dovrebbero essere sprecate.

ExtractToDirectory(String e String)

Estratta tutti i file nell’archivio nel directory fornito.

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

Parameters

destinationDirectory string

Il percorso verso il directory per posizionare i file estratti.

password string

Password opzionale per la decrittura dei contenuti.

Examples

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

Remarks

Se il directory non esiste, sarà creato.

Se i nomi dei file sono crittografati, fornisci la password in Aspose.Zip.SevenZopArchive.#ctor(System.String,Systems. String) o __ WL51.ZIP.7 Zip Archiv.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Il percorso specificato, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, su piattaforme basate su Windows, i percorsi devono essere meno di 248 caratteri e i nomi del file devono essere meno di 260 caratteri.

SecurityException

Il chiamante non ha il permesso richiesto per accedere al directory esistente.

NotSupportedException

Se la directory non esiste, il percorso contiene un carattere colonico (:) che non fa parte di un’etichetta drive (“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

Il directory specificato per percorso è un file. -or- Il nome della rete non è noto.

InvalidDataException

L’archivio è corrotto.

Save(Stream)

Salva l’archivio 7z al flusso fornito.

public void Save(Stream output)

Parameters

output Stream

Il flusso di destinazione.

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

Bisogna essere ricercabile.

Exceptions

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

Il codice non è riuscito a comprimere i dati.

Save(String)

Salva archivio a un file di destinazione fornito.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Il percorso dell’archivio da creare.Se il nome del file specificato indica un file esistente, sarà sovrappeso.

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

È possibile salvare un archivio nello stesso percorso dal quale è stato caricato. tuttavia, questo non è raccomandato perché questo approccio utilizza la copia a un file temporaneo.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Il chiamante non ha il permesso di accesso richiesto.

ArgumentException

La destinationFileName’ è vuota, contiene solo spazi bianchi, o contiene caratteri invalidi.

UnauthorizedAccessException

L’accesso al file destinationFileName’ è negato.

PathTooLongException

La specifica destinationFileName’, nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, su piattaforme basate su Windows, i percorsi devono essere meno di 248 caratteri e i nomi del file devono essere meno di 260 caratteri.

NotSupportedException

Il file in destinationFileName’ contiene una colonna (:) nel mezzo della riga.

SaveSplit(stringa, SplitSevenZipArchiveSaveOptions)

Salva l’archivio multi-volume al directory di destinazione fornito.

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

Parameters

destinationDirectory string

Il percorso verso il directory dove si creano i segmenti di archivio.

options SplitSevenZipArchiveSaveOptions

Opzioni per il salvataggio di archivi, tra cui il nome del file.

Examples

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

Remarks

Questo metodo compone diversi () file filename.7z.001, filename.7z.002, …, filename.7z.(n).

Non è possibile creare un archivio multi-volume.

Exceptions

InvalidOperationException

Questo archivio è stato aperto dalla fonte esistente.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Il chiamante non ha il permesso richiesto per accedere al directory.

ArgumentException

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

PathTooLongException

Il percorso specificato supera la lunghezza massima definita dal sistema.

 Italiano