Class SevenZipArchive
Numele spaţiului: Aspose.Zip.SevenZip Asamblare: Aspose.Zip.dll (25.5.0)
Această clasă reprezintă fișierul de arhivă 7z. Utilizați-l pentru a compune și extrage arhivele 7z.
public class SevenZipArchive : IArchive, IDisposable
Inheritance
Implements
Membrii moștenitori
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
Inițializează o nouă instanță a clasei Aspose.Zip.SevenZip.SevenZipArchive cu setări opționale pentru intrările sale.
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
SevenZipEntrySettings
Setările de compresie și criptare utilizate pentru elementele nou adăugate Aspose.Zip.SevenZip.SevenZipArchiveEntry.Dacă nu este specificat, se va folosi compresia LZMA fără criptare.
Examples
Următorul exemplu arată cum să compresezi un singur fișier cu setările predefinite: Compresia LZMA fără criptare.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}
SevenZipArchive(Război, String)
Inițializează o nouă instanță a clasei Aspose.Zip.SevenZip.SevenZipArchive și compune o listă de intrări care poate fi extras din arhivă.
public SevenZipArchive(Stream sourceStream, string password = null)
Parameters
sourceStream
Stream
Sursă a arhivelor.
password
string
Password opțional pentru decodificare.Dacă numele fișierului este criptat, acesta trebuie să fie prezent.
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Acest constructor nu decomprime nicio intrare. a se vedea Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoda de decomprimare.
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
Arhiva conține mai mult de un coder. acum doar compresia LZMA este susținută.
SevenZipArchive(String și String)
Inițializează o nouă instanță a clasei Aspose.Zip.SevenZip.SevenZipArchive și compune o listă de intrări care poate fi extras din arhivă.
public SevenZipArchive(string path, string password = null)
Parameters
path
string
Calea complet calificată sau calea relativă către fișierul de arhivă.
password
string
Password opțional pentru decodificare.Dacă numele fișierului este criptat, acesta trebuie să fie prezent.
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Acest constructor nu decomprime nicio intrare. a se vedea Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoda de decomprimare.
Exceptions
path’ is null.
Solicitantul nu are permisiunea necesară de acces.
Calea " este goală, conține doar spații albe sau conține caractere invalide.
Accesul la fișierul path" este refuzat.
Calea specificată path’, numele fișierului, sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.
Fișierul la path’ conține o coloană (:) în mijlocul stringului.
Dosarul nu a fost găsit.
Calea specificată este invalidă, de exemplu, fiind pe un motor necartat.
Dosarul este deja deschis.
SevenZipArchive(Strângere[], Stringă)
Inițializează o nouă instanță a clasei Aspose.Zip.SevenZip.SevenZipArchive din arhiva multi-volume 7z și compune o listă de intrări care poate fi extras din arhivă.
public SevenZipArchive(string[] parts, string password = null)
Parameters
parts
string
[]
Calea către fiecare segment al arhivului multi-volume 7z respectând ordinea
password
string
Password opțional pentru decodificare.Dacă numele fișierului este criptat, acesta trebuie să fie prezent.
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.
Solicitantul nu are permisiunea necesară de acces.
Calea către un fișier este goală, conține doar spații albe sau conține caractere invalide.
Accesul la un fișier este refuzat.
Calea specificată către o parte, numele fișierului sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platforme bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.
Fișierul pe o cale conține un colon (:) în mijlocul stringului.
Properties
Entries
Obține intrări de tip Aspose.Zip.SevenZip.SevenZipArchiveEntry care constituie arhiva.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
Valoarea proprietății
ReadOnlyCollection < SevenZipArchiveEntry >
NewEntrySettings
Setările de compresie și criptare utilizate pentru elementele nou adăugate Aspose.Zip.SevenZip.SevenZipArchiveEntry.
public SevenZipEntrySettings NewEntrySettings { get; }
Valoarea proprietății
Methods
CreateEntries(Cuvânt cheie, bool)
Adăugați în arhiv toate fișierele și directorii în mod recurent în directorul dat.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
Directoare pentru compresă.
includeRootDirectory
bool
Indică dacă să includă directorul de rădăcină în sine sau nu.
Returns
Arhiva cu intrări compuse.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
Calea către directory" este invalidă, de exemplu fiind pe un disc necartat.
Solicitantul nu are permisiunea necesară pentru a accesa directory".
CreateEntries(Cuvânt cheie, bool)
Adăugați în arhiv toate fișierele și directorii în mod recurent în directorul dat.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
Directoare pentru compresă.
includeRootDirectory
bool
Indică dacă să includă directorul de rădăcină în sine sau nu.
Returns
Arhiva cu intrări compuse.
Examples
Arhiva 7z se compune cu compresia LZMA2.
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}
CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)
Creați o singură intrare în arhivă.
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Numele intrării.
fileInfo
FileInfo
Metadata fișierului trebuie să fie comprimată.
openImmediately
bool
Adevărat, dacă deschideți imediat fișierul, în caz contrar deschideți fișierul pe stocarea arhivelor.
newEntrySettings
SevenZipEntrySettings
Setările de compresie și criptare utilizate pentru a adăuga elementul Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
7 puncte de intrare ZIP.
Examples
Combinați arhiva cu intrări criptate cu diferite parole fiecare.
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
Numele de intrare este setat numai în parametru. numele de fișier furnizat în parametru nu afectează numele de intrare.
Dacă fișierul este deschis imediat cu parametru, acesta este blocat până când arhiva este salvată.
Exceptions
fileInfo’ is read-only or is a directory.
Calea specificată este invalidă, de exemplu, fiind pe un motor necartat.
Dosarul este deja deschis.
CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)
Creați o singură intrare în arhivă.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
Numele intrării.
source
Stream
Rata de intrare pentru intrare.
newEntrySettings
SevenZipEntrySettings
Setările de compresie și criptare utilizate pentru a adăuga elementul Aspose.Zip.SevenZip.SevenZipArchiveEntry.
fileInfo
FileSystemInfo
Metadata fișierului sau a folderului trebuie să fie compresă.
Returns
7 intrare de intrare.
Examples
Arhiva se compune cu intrarea criptată LZMA2 compresă.
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
Numele de intrare este setat numai în parametru. numele de fișier furnizat în parametru nu afectează numele de intrare.
se poate face referire la System.IO.DirectoryInfo dacă intrarea este directorie.
Exceptions
Amândouă source’ și
fileInfo’ sunt nule sau
source’ este nule și
fileInfo’ este pentru director.
CreateEntry(Strângere, Strângere, SevenZipEntrySettings)
Creați o singură intrare în arhivă.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Numele intrării.
source
Stream
Rata de intrare pentru intrare.
newEntrySettings
SevenZipEntrySettings
Setările de compresie și criptare utilizate pentru a adăuga elementul Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Instanta de intrare ZIP.
Examples
Combinați arhiva 7z cu LZMA2 compresie și criptare a tuturor intrărilor.
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)
Creați o singură intrare în arhivă.
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Numele intrării.
path
string
Denumirea complet calificată a noului fișier sau denumirea relativă a fișierului care urmează să fie comprimată.
openImmediately
bool
Adevărat, dacă deschideți imediat fișierul, în caz contrar deschideți fișierul pe stocarea arhivelor.
newEntrySettings
SevenZipEntrySettings
Setările de compresie și criptare utilizate pentru a adăuga elementul Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Instanta de intrare 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
Numele de intrare este setat numai în parametru. numele de fișier furnizat în parametru nu afectează numele de intrare.
Dacă fișierul este deschis imediat cu parametru, acesta este blocat până când arhiva este salvată.
Exceptions
path’ is null.
Solicitantul nu are permisiunea necesară de acces.
Calea " este goală, conține doar spații albe sau conține caractere invalide.
Accesul la fișierul path" este refuzat.
Calea specificată path’, numele fișierului, sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.
Fișierul la path’ conține o coloană (:) în mijlocul stringului.
Dispose()
Îndeplinește sarcini definite prin aplicare asociate cu eliberarea, eliberarea sau redistribuirea resurselor necontrolate.
public void Dispose()
Dispose(Boulă)
Îndeplinește sarcini definite prin aplicare asociate cu eliberarea, eliberarea sau redistribuirea resurselor necontrolate.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
În cazul în care resursele gestionate ar trebui să fie eliminate.
ExtractToDirectory(String și String)
Extrage toate fișierele din arhivă în directorul furnizat.
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
Calea către directorie pentru a pune în fișierele extrase.
password
string
Password opțional pentru decodificarea conținutului.
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Dacă directorul nu există, acesta va fi creat.
În cazul în care numele de fișier sunt criptate, furnizați parola în Aspose.Zip.Seven ZipArchive.#ctor(System.String,Systeme. String) sau __ WL51.ZIP.Numărul de date.
Exceptions
destinationDirectory’ is null.
Calea specificată, numele fișierului sau ambele depășesc lungimea maximă definită de sistem. De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.
Solicitantul nu are permisiunea necesară pentru a accesa directorul existent.
Dacă directorul nu există, calea conține un caracter colon (:) care nu face parte dintr-o etichetă de disc (“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 (:).
Directoriul specificat de cale este un fișier. -or- Numele rețelei nu este cunoscut.
Arhiva este coruptă.
Save(Stream)
Salvează arhiva 7z în fluxul furnizat.
public void Save(Stream output)
Parameters
output
Stream
Războiul de destinaţie.
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
Trebuie să fie căutată.
Exceptions
output’ does not support seeking.
output’ is null.
Codatorul nu a reușit să comprime datele.
Save(Strângere)
Salvează arhiva la un fișier de destinație furnizat.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Dacă numele fișierului specific se referă la un fișier existent, acesta va fi supraîncris.
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
Este posibil să salvați un arhiv pe aceeași cale pe care a fost încărcat de la. Cu toate acestea, acest lucru nu este recomandat deoarece această abordare utilizează copierea la un fișier temporar.
Exceptions
destinationFileName’ is null.
Solicitantul nu are permisiunea necesară de acces.
destinationFileName’ este gol, conține doar spații albe sau conține caractere invalide.
Accesul la fișierul destinationFileName’ este refuzat.
De exemplu, pe platformele bazate pe Windows, căile trebuie să fie mai puțin de 248 de caractere, iar numele fișierului trebuie să fie mai puțin de 260 de caractere.
Fișierul la destinationFileName’ conține o coloană (:) în mijlocul stringului.
SaveSplit(Cuvânt cheie, SplitSevenZipArchiveSaveOptions)
Salvează arhiva multi-volume la directorul de destinație furnizat.
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)
Parameters
destinationDirectory
string
Calea către directorul în care se creează segmentele de arhivă.
options
SplitSevenZipArchiveSaveOptions
Opțiuni pentru stocarea arhivelor, inclusiv numele fișierului.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}
Remarks
Această metodă conține mai multe () fișiere filename.7z.001, filename.7z.002, …, filename.7z.(n).
Nu se poate face un arhiv existent multi-volume.
Exceptions
Acest arhiv a fost deschis din sursa existenta.
destinationDirectory’ is null.
Solicitantul nu are permisiunea necesară pentru a accesa directorul.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Calea specificată depășește lungimea maximă definită de sistem.