Class SevenZipArchive

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

object SevenZipArchive

Implements

IArchive , IDisposable

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

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

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

ArgumentNullException

path’ is null.

SecurityException

Pozivač nema potrebnu dozvolu za pristup.

ArgumentException

path’ je prazan, sadrži samo bijele prostore, ili sadrži nevažeće znakove.

UnauthorizedAccessException

Pristup datoteci path" je odbijen.

PathTooLongException

Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

NotSupportedException

File na path’ sadrži kolona (:) u sredini trake.

FileNotFoundException

Dosje nije pronađeno.

DirectoryNotFoundException

Navedeni put je nevažeći, na primjer, biti na nemapiranom pogonu.

IOException

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

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

Pozivač nema potrebnu dozvolu za pristup.

ArgumentException

Put do datoteke je prazan, sadrži samo bijele prostore ili sadrži nevažeće znakove.

UnauthorizedAccessException

Pristup datoteci je odbijen.

PathTooLongException

Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

NotSupportedException

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

SevenZipEntrySettings

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

SevenZipArchive

Arhiva s upisima sastavljena.

Examples

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

Exceptions

DirectoryNotFoundException

Put do directory’ je nevažeći, na primjer, biti na nemapiranom disku.

SecurityException

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

SevenZipArchive

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

SevenZipArchiveEntry

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

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Navedeni put je nevažeći, na primjer, biti na nemapiranom pogonu.

IOException

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

SevenZipArchiveEntry

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

InvalidOperationException

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

SevenZipArchiveEntry

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

SevenZipArchiveEntry

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

ArgumentNullException

path’ is null.

SecurityException

Pozivač nema potrebnu dozvolu za pristup.

ArgumentException

path’ je prazan, sadrži samo bijele prostore, ili sadrži nevažeće znakove.

UnauthorizedAccessException

Pristup datoteci path" je odbijen.

PathTooLongException

Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

NotSupportedException

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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Na primjer, na Windows platformama, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

SecurityException

Pozivač nema potrebnu dozvolu za pristup postojećem adresaru.

NotSupportedException

Ako direktorija ne postoji, put sadrži znak kolona (:) koji nije dio oznake pogona (“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

Direktorija određena putem je datoteka. -ili- Ime mreže nije poznato.

InvalidDataException

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

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

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

ArgumentNullException

destinationFileName’ is null.

SecurityException

Pozivač nema potrebnu dozvolu za pristup.

ArgumentException

destinationFileName’ je prazan, sadrži samo bijele prostore ili sadrži nevažeće znakove.

UnauthorizedAccessException

Pristup datoteci destinationFileName’ je odbijen.

PathTooLongException

Na primjer, na platformama s Windows-om, staze moraju biti manje od 248 znakova, a imena datoteke moraju biti manje od 260 znakova.

NotSupportedException

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

InvalidOperationException

Ovaj arhiv je otvoren iz postojećeg izvora.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Pozivač nema potrebnu dozvolu za pristup adresi.

ArgumentException

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

PathTooLongException

Navedena staza prelazi maksimalnu duljinu koju je definirao sustav.

 Hrvatski