Class SevenZipArchive
nazivni prostor: Aspose.Zip.SevenZip Sastav: Aspose.Zip.dll (25.5.0)
Ova klasa predstavlja 7z arhiv datoteku. koristite ga za sastavljanje i ekstrakciju 7z arhiva.
public class SevenZipArchive : IArchive, IDisposable
Inheritance
Implements
naslijeđeni članovi
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
Inicijalizira novu primjenu Aspose.Zip.SevenZip.SevenZipArchive razreda s opcionalnim postavkama za njegove uloge.
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
SevenZipEntrySettings
Sastav kompresije i šifriranja koji se koriste za novo dodane Aspose.Zip.SevenZip.SevenZipArchiveEntry predmete.Ako nije navedeno, LZMA kompresija bez šifriranja bi se koristila.
Examples
Sljedeći primjer pokazuje kako komprimirati pojedinačnu datoteku s podrazumevanim postavkama: LZMA kompresija bez šifriranja.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}
SevenZipArchive(Slijedeći članakString)
Inicijalizira novu primjenu klase Aspose.Zip.SevenZip.SevenZipArchive i sastoji popis ulazaka koji se može izvući iz arhiva.
public SevenZipArchive(Stream sourceStream, string password = null)
Parameters
sourceStream
Stream
Izvori iz arhiva.
password
string
Opcionalna lozinka za dešifriranje. ako su imena datoteke šifrirana, mora biti prisutna.
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Ovaj konstruktor ne dekompresije bilo koji ulaz. pogledajte Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoda za dekompresije.
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
Arhiva sadrži više od jednog kodera. sada je podržana samo LZMA kompresija.
SevenZipArchive(String, String i String)
Inicijalizira novu primjenu klase Aspose.Zip.SevenZip.SevenZipArchive i sastoji popis ulazaka koji se može izvući iz arhiva.
public SevenZipArchive(string path, string password = null)
Parameters
path
string
Potpuno kvalificirani ili relativni put do arhivskog datoteke.
password
string
Opcionalna lozinka za dešifriranje. ako su imena datoteke šifrirana, mora biti prisutna.
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Ovaj konstruktor ne dekompresije bilo koji ulaz. pogledajte Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoda za dekompresije.
Exceptions
path’ is null.
Pozivač nema potrebnu dozvolu za pristup.
path’ je prazan, sadrži samo bijele prostore, ili sadrži nevažeće znakove.
Pristup datoteci path" je odbijen.
Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.
File na path’ sadrži kolona (:) u sredini trake.
Dosje nije pronađeno.
Navedeni put je nevažeći, na primjer, biti na nemapiranom pogonu.
Dosje je već otvoreno.
SevenZipArchive(String[], Slijedeći string)
Inicijalizira novu primjenu Aspose.Zip.SevenZip.SevenZipArhiv razreda iz multi-volume 7z arhiva i čini popis ulazaka koji se može izvući iz arhiva.
public SevenZipArchive(string[] parts, string password = null)
Parameters
parts
string
[]
Putovi do svakog segmenta multi-volume 7z arhiva poštuju redoslijed
password
string
Opcionalna lozinka za dešifriranje. ako su imena datoteke šifrirana, mora biti prisutna.
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.
Pozivač nema potrebnu dozvolu za pristup.
Put do datoteke je prazan, sadrži samo bijele prostore ili sadrži nevažeće znakove.
Pristup datoteci je odbijen.
Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.
Dosje na putu sadrži kolona (:) u sredini trake.
Properties
Entries
Dobiva ulaznice Aspose.Zip.SevenZip.SevenZipArchiveEntry tip koji čini arhiv.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
Vrijednost nekretnina
ReadOnlyCollection < SevenZipArchiveEntry >
NewEntrySettings
Sastav kompresije i šifriranja koji se koriste za novo dodane Aspose.Zip.SevenZip.SevenZipArchiveEntry predmete.
public SevenZipEntrySettings NewEntrySettings { get; }
Vrijednost nekretnina
Methods
CreateEntries(Sljedeći članakInfo, bool)
Dodajte u arhiv sve datoteke i direktorije ponavljajući u određenom direktorije.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
Direktorat za kompresije.
includeRootDirectory
bool
To ukazuje na to treba li uključiti sam korijenski katalog ili ne.
Returns
Arhiva s upisima sastavljena.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
Put do directory’ je nevažeći, na primjer, biti na nemapiranom disku.
Pozivač nema potrebnu dozvolu za pristup directory".
CreateEntries(Sljedeći Članak Bool)
Dodajte u arhiv sve datoteke i direktorije ponavljajući u određenom direktorije.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
Direktorat za kompresije.
includeRootDirectory
bool
To ukazuje na to treba li uključiti sam korijenski katalog ili ne.
Returns
Arhiva s upisima sastavljena.
Examples
Sastavite 7z arhiv s LZMA2 kompresije.
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}
CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)
Stvorite jedinstvenu ulaznicu u arhivu.
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Naziv ulaznice.
fileInfo
FileInfo
Metadata datoteke treba komprimirati.
openImmediately
bool
Istina, ako odmah otvorite datoteku, inače otvorite datoteku na arhivskom skladištenju.
newEntrySettings
SevenZipEntrySettings
Sastav kompresije i šifriranja koji se koriste za dodavanje Aspose.Zip.SevenZip.SevenZipArchiveEntry elementa.
Returns
Sljedeći Članak Sedam Zip ulaznih naloga.
Examples
Sastavite arhiv s ulaznicama šifrirane različitim lozinkama svaki.
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
Naziv ulaza je postavljen isključivo unutar parametara. ime datoteke navedeno u parametru ne utječe na ime ulaza.
Ako se datoteka odmah otvori s parametrom, blokira se sve dok se arhiv ne sačuvaju.
Exceptions
fileInfo’ is read-only or is a directory.
Navedeni put je nevažeći, na primjer, biti na nemapiranom pogonu.
Dosje je već otvoreno.
CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)
Stvorite jedinstvenu ulaznicu u arhivu.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
Naziv ulaznice.
source
Stream
Ulaznice za ulaz.
newEntrySettings
SevenZipEntrySettings
Sastav kompresije i šifriranja koji se koriste za dodavanje Aspose.Zip.SevenZip.SevenZipArchiveEntry elementa.
fileInfo
FileSystemInfo
Metapodatke datoteke ili mape koje treba komprimirati.
Returns
Sljedeći članakSjedinjene Američke Države.
Examples
Sastavite arhiv s LZMA2 komprimiranom šifriranom ulazom.
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
Naziv ulaza je postavljen isključivo unutar parametara. ime datoteke navedeno u parametru ne utječe na ime ulaza.
može se uputiti na System.IO.DirectoryInfo ako je ulaz direktorija.
Exceptions
Obojica source’ i
fileInfo’ su nula ili
source’ je nula i
fileInfo’ stoji za direktorije.
CreateEntry(String, Stream, SevenZipEntryUredi)
Stvorite jedinstvenu ulaznicu u arhivu.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Naziv ulaznice.
source
Stream
Ulaznice za ulaz.
newEntrySettings
SevenZipEntrySettings
Sastav kompresije i šifriranja koji se koriste za dodavanje Aspose.Zip.SevenZip.SevenZipArchiveEntry elementa.
Returns
Zip ulazna instanca.
Examples
Sastavite 7z arhiv s LZMA2 kompresije i šifriranje svih ulazaka.
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)
Stvorite jedinstvenu ulaznicu u arhivu.
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Naziv ulaznice.
path
string
Potpuno kvalificirano ime novog datoteke ili relativno ime datoteke koje će se komprimirati.
openImmediately
bool
Istina, ako odmah otvorite datoteku, inače otvorite datoteku na arhivskom skladištenju.
newEntrySettings
SevenZipEntrySettings
Sastav kompresije i šifriranja koji se koriste za dodavanje Aspose.Zip.SevenZip.SevenZipArchiveEntry elementa.
Returns
Zip ulazna instanca.
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
Naziv ulaza je postavljen isključivo unutar parametara. ime datoteke navedeno u parametru ne utječe na ime ulaza.
Ako se datoteka odmah otvori s parametrom, blokira se sve dok se arhiv ne sačuvaju.
Exceptions
path’ is null.
Pozivač nema potrebnu dozvolu za pristup.
path’ je prazan, sadrži samo bijele prostore, ili sadrži nevažeće znakove.
Pristup datoteci path" je odbijen.
Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.
File na path’ sadrži kolona (:) u sredini trake.
Dispose()
On obavlja zadatke definirane po aplikaciji povezane s oslobađanjem, oslobađanjem ili ponovnim oslobađanjem nekontroliranih resursa.
public void Dispose()
Dispose(Bolić)
On obavlja zadatke definirane po aplikaciji povezane s oslobađanjem, oslobađanjem ili ponovnim oslobađanjem nekontroliranih resursa.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Treba li iskoristiti upravljane resurse.
ExtractToDirectory(String, String i String)
Izvadite sve datoteke u arhivu u pruženi direktorij.
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
Put do direktora za stavljanje izvedenih datoteka u.
password
string
Opcionalna lozinka za dešifriranje sadržaja.
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Ako direktorija ne postoji, stvorit će se.
Ako su imena datoteke šifrirana, pružite lozinku u Aspose.Zip.Seven ZipArchive.#ctor(System.String,Systems. String) ili __ WL51.Zib.sevenZips.
Exceptions
destinationDirectory’ is null.
Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.
Pozivač nema potrebnu dozvolu za pristup postojećem adresaru.
Ako direktorija ne postoji, put sadrži znak kolona (:) koji nije dio oznake pogona (“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 (:).
Direktorija određena putem je datoteka. -ili- Ime mreže nije poznato.
Arhiva je korumpirana.
Save(Stream)
Uštedi 7z arhiv na pruženi tok.
public void Save(Stream output)
Parameters
output
Stream
Odredište za tok.
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
Mora biti tražljiva.
Exceptions
output’ does not support seeking.
output’ is null.
Koder nije uspio komprimirati podatke.
Save(String)
Sačuvajte arhiv za dostavljenu dosjeu odredišta.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Ako određeno ime datoteke ukazuje na postojeće datoteke, to će biti prepisano.
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
Moguće je sačuvati arhiv na istom putu kao što je preuzeta. međutim, to se ne preporučuje jer ovaj pristup koristi kopiranje na privremeni datoteku.
Exceptions
destinationFileName’ is null.
Pozivač nema potrebnu dozvolu za pristup.
destinationFileName’ je prazan, sadrži samo bijele prostore ili sadrži nevažeće znakove.
Pristup datoteci destinationFileName’ je odbijen.
Na primjer, na platformama s Windows-om, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.
File u destinationFileName’ sadrži kolona (:) u sredini trake.
SaveSplit(String, SplitSevenZipArchiveSaveOptions)
Uštedi multi-volume arhiv za dodijeljenu adresar za odredište.
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)
Parameters
destinationDirectory
string
Put do direktora gdje će biti stvoreni arhivski segmenti.
options
SplitSevenZipArchiveSaveOptions
Opcije za skladištenje arhiva, uključujući ime datoteke.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}
Remarks
Ova metoda sastoji se od nekoliko () datoteka filename.7z.001, filename.7z.002, …, filename.7z.(n).
Ne može se napraviti postojeći arhiv multi-volum.
Exceptions
Ovaj arhiv je otvoren iz postojećeg izvora.
destinationDirectory’ is null.
Pozivač nema potrebnu dozvolu za pristup adresi.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Navedena staza prelazi maksimalnu duljinu koju je definirao sustav.