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
Implements
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
sourceStream’ is not seekable.
sourceStream’ is null.
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
path’ is null.
Il chiamante non ha il permesso di accesso richiesto.
La path’ è vuota, contiene solo spazi bianchi, o contiene caratteri invalidi.
L’accesso al file path" è rifiutato.
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.
Il file in path’ contiene una colonna (:) nel mezzo della riga.
Il file non è trovato.
Il percorso specificato è invalido, ad esempio essere su un drive non mappato.
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
parts’ is null.
parts’ has no entries.
Il chiamante non ha il permesso di accesso richiesto.
Il percorso verso un file è vuoto, contiene solo spazi bianchi, o contiene caratteri invalidi.
L’accesso a un file è negato.
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.
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à
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
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
Il percorso verso la directory’ è invalido, ad esempio essere su un disco non mappato.
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
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
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
fileInfo’ is read-only or is a directory.
Il percorso specificato è invalido, ad esempio essere su un drive non mappato.
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
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
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
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
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
path’ is null.
Il chiamante non ha il permesso di accesso richiesto.
La path’ è vuota, contiene solo spazi bianchi, o contiene caratteri invalidi.
L’accesso al file path" è rifiutato.
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.
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
destinationDirectory’ is null.
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.
Il chiamante non ha il permesso richiesto per accedere al directory esistente.
Se la directory non esiste, il percorso contiene un carattere colonico (:) che non fa parte di un’etichetta drive (“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 (:).
Il directory specificato per percorso è un file. -or- Il nome della rete non è noto.
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
output’ does not support seeking.
output’ is null.
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
destinationFileName’ is null.
Il chiamante non ha il permesso di accesso richiesto.
La destinationFileName’ è vuota, contiene solo spazi bianchi, o contiene caratteri invalidi.
L’accesso al file destinationFileName’ è negato.
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.
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
Questo archivio è stato aperto dalla fonte esistente.
destinationDirectory’ is null.
Il chiamante non ha il permesso richiesto per accedere al directory.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Il percorso specificato supera la lunghezza massima definita dal sistema.