Class Archive

Class Archive

ja nimityö: Aspose.Zip Kokoelma: Aspose.Zip.dll (25.5.0)

Tämä luokka edustaa zip arkistotiedostoa. Käytä sitä koota, poistaa tai päivittää zip tiedostoja.

public class Archive : IArchive, IDisposable

Inheritance

object Archive

Implements

IArchive , IDisposable

Perintöjäsenet

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

Constructors

Archive(ArchiveEntrySettings)

Aloita Aspose.Zip.Archive -luokan uusi esimerkki valinnaisilla asetuksilla sen kirjoituksille.

public Archive(ArchiveEntrySettings newEntrySettings = null)

Parameters

newEntrySettings ArchiveEntrySettings

Kompressiointi ja salaus asetukset, joita käytetään uudelleen lisättyjen Aspose.Zip.ArchiveEntry kohteita.Jos ei ole määritelty, käytetään yleisin Deflate-kompressio ilman salausta.

Examples

Seuraava esimerkki näyttää, miten tiivistää yksittäinen tiedosto oletusarvoilla.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

Archive(Virtaa, ArchiveLoadOptions, ArchiveEntrySettings)

Aloita uusi esimerkki Aspose.Zip.Archive luokka ja koostuu sisäänkirjailu voidaan poistaa arkistosta.

public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)

Parameters

sourceStream Stream

Arkiston lähde on.

loadOptions ArchiveLoadOptions

Voit ladata olemassa olevia arkistoja.

newEntrySettings ArchiveEntrySettings

Kompressiointi ja salaus asetukset, joita käytetään uudelleen lisättyjen Aspose.Zip.ArchiveEntry kohteita.Jos ei ole määritelty, käytetään yleisin Deflate-kompressio ilman salausta.

Examples

Seuraava esimerkki poistaa salattu arkisto, sitten puristaa ensimmäisen sisällön .

var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

Remarks

Tämä rakentaja ei dekompresoida mitään tuloksia. Katso Aspose.Zip.ArchiveEntry.Open(System.String) menetelmä dekompresointiin.

Exceptions

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

AES: n salauksen otsikko on ristiriidassa WinZip-kompressiomenetelmän kanssa.

Archive(sivut, ArchiveLoadOptions, ArchiveEntrySettings)

Aloita uusi esimerkki Aspose.Zip.Archive luokka ja koostuu sisäänkirjailu voidaan poistaa arkistosta.

public Archive(string path, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)

Parameters

path string

Täysin pätevä tai suhteellinen reitti tiedostoon.

loadOptions ArchiveLoadOptions

Voit ladata olemassa olevia arkistoja.

newEntrySettings ArchiveEntrySettings

Kompressiointi ja salaus asetukset, joita käytetään uudelleen lisättyjen Aspose.Zip.ArchiveEntry kohteita.Jos ei ole määritelty, käytetään yleisin Deflate-kompressio ilman salausta.

Examples

Seuraava esimerkki poistaa salattu arkisto, sitten puristaa ensimmäisen sisällön .

var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
    using (var decompressed = archive.Entries[0].Open())
    {
        byte[] b = new byte[8192];
        int bytesRead;
        while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
            extracted.Write(b, 0, bytesRead);
    }
}

Remarks

Tämä rakentaja ei dekompresoida mitään tuloksia. Katso Aspose.Zip.ArchiveEntry.Open(System.String) menetelmä dekompresointiin.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Kääntäjällä ei ole tarvittavaa käyttöoikeutta.

ArgumentException

path’ on tyhjä, sisältää vain valkoisia tiloja tai sisältää epätasaisia merkkejä.

UnauthorizedAccessException

Pääsy path" -tiedostoon kielletään.

PathTooLongException

Määritetty path", tiedoston nimi tai molemmat ylittävät järjestelmän määrittämän enimmäispituuden. Esimerkiksi Windows-pohjaisilla alustoilla tiet on oltava alle 248 merkkiä ja tiedoston nimet on oltava alle 260 merkkiä.

NotSupportedException

path’ -tiedosto sisältää sarjan keskellä olevan sarjan (:) sarjan.

FileNotFoundException

Tiedostoa ei löydy.

DirectoryNotFoundException

Määritetty reitti ei ole pätevä, esimerkiksi ollessa kartattoman ajoneuvon päällä.

IOException

Tiedosto on jo auki.

InvalidDataException

Tiedosto on korruptoitu.

Archive(String ja String[], ArchiveLoadOptions)

Aloitetaan uusi esimerkki Aspose.Zip.Archive luokka monimuotoisesta zip arkistosta ja koostuu luettelo, joka voidaan poistaa arkistosta.

public Archive(string mainSegment, string[] segmentsInOrder, ArchiveLoadOptions loadOptions = null)

Parameters

mainSegment string

Matka viimeiseen monimuotoisen arkiston segmenttiin keskusrekisterin kanssa.

Yleensä tämä segmentti on *.zip laajennus ja pienempi kuin muut.

segmentsInOrder string []

Vaiheet jokaiseen segmenttiin, mutta viimeinen multi-volume zip arkisto noudattaa järjestystä.

Yleensä ne nimittävät filename.z01, filename.z02, …, filename.z(n-1).

loadOptions ArchiveLoadOptions

Voit ladata olemassa olevia arkistoja.

Examples

Tämä näyte tuottaa kolmen segmentin arkistoon direktoriin.

using (Archive a = new Archive("archive.zip", new string[] { "archive.z01", "archive.z02" }))
{
    a.ExtractToDirectory("destination");
}

Exceptions

EndOfStreamException

Et voi ladata ZIP-osoitteita, koska annetut tiedostot ovat korruptoituneita.

Properties

Entries

Saa merkinnät Aspose.Zip.ArchiveEntry -tyyppistä, joka muodostaa arkiston.

public ReadOnlyCollection<archiveentry> Entries { get; }

Omistuksen arvo

ReadOnlyCollection < ArchiveEntry >

NewEntrySettings

Kompressiointi ja salaus asetukset, joita käytetään uudelleen lisättyjen Aspose.Zip.ArchiveEntry kohteita.

public ArchiveEntrySettings NewEntrySettings { get; }

Omistuksen arvo

ArchiveEntrySettings

Methods

CreateEntries(Pääosat, Bool)

Lisää arkistoon kaikki tiedostot ja sarjat toistuvasti annetussa sarjassa.

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

Parameters

directory DirectoryInfo

Ohjelma on kompressi.

includeRootDirectory bool

Se osoittaa, sisällytetäänkö root-direktiivi itse vai ei.

Returns

Archive

Arkisto, jossa on kirjoituksia.

Examples

using (Archive archive = new Archive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.zip");
}

Exceptions

DirectoryNotFoundException

Matka direktiiviin" on vaadittava, esimerkiksi ollessa kartattamatta.

SecurityException

Soittajalle ei ole tarvittavaa lupaa käyttää direktiiviä".

CreateEntries(Sormus ja bool)

Lisää arkistoon kaikki tiedostot ja sarjat toistuvasti annetussa sarjassa.

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

Parameters

sourceDirectory string

Ohjelma on kompressi.

includeRootDirectory bool

Se osoittaa, sisällytetäänkö root-direktiivi itse vai ei.

Returns

Archive

Arkisto, jossa on kirjoituksia.

Examples

using (Archive archive = new Archive())
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.zip");
}

CreateEntry(String, String, Bool ja ArchiveEntrySettings)

Luo yksi kirja arkiston sisällä.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)

Parameters

name string

Sisäänkäynnin nimi.

path string

Uuden tiedoston täysin pätevä nimi tai kompresoidun suhteellinen tiedoston nimi.

openImmediately bool

Totuus, jos avaat tiedoston välittömästi, muuten avaa tiedosto arkiston tallennuksessa.

newEntrySettings ArchiveEntrySettings

Kompressiointi ja salaus asetukset käytetään lisäämään Aspose.Zip.ArchiveEntry elementti.

Returns

ArchiveEntry

Zip sisäänkäynti.

Examples

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

Remarks

Sisällön nimi asetetaan vain parametrien sisällä. parametriin annettu tiedoston nimi ei vaikuta sisällön nimiin.

Jos tiedosto avautuu välittömästi parametrien avulla, se estetään, kunnes arkisto on tallennettu.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Kääntäjällä ei ole tarvittavaa käyttöoikeutta.

ArgumentException

path’ on tyhjä, sisältää vain valkoisia tiloja tai sisältää epätasaisia merkkejä.

UnauthorizedAccessException

Pääsy path" -tiedostoon kielletään.

PathTooLongException

Määritetty path", tiedoston nimi tai molemmat ylittävät järjestelmän määrittämän enimmäispituuden. Esimerkiksi Windows-pohjaisilla alustoilla tiet on oltava alle 248 merkkiä ja tiedoston nimet on oltava alle 260 merkkiä.

NotSupportedException

path’ -tiedosto sisältää sarjan keskellä olevan sarjan (:) sarjan.

CreateEntry(virtaa, virtaa, ArchiveEntrySettings)

Luo yksi kirja arkiston sisällä.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)

Parameters

name string

Sisäänkäynnin nimi.

source Stream

Sisäänpääsy virtaa sisäänpääsyyn.

newEntrySettings ArchiveEntrySettings

Kompressiointi ja salaus asetukset käytetään lisäämään Aspose.Zip.ArchiveEntry elementti.

Returns

ArchiveEntry

Zip sisäänkäynti.

Examples

using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
    archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
    archive.Save("archive.zip");
}

CreateEntry(sivut, FileInfo, bool, ArchiveEntrySettings)

Luo yksi kirja arkiston sisällä.

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)

Parameters

name string

Sisäänkäynnin nimi.

fileInfo FileInfo

Tiedostojen metatiedot on purettava.

openImmediately bool

Totuus, jos avaat tiedoston välittömästi, muuten avaa tiedosto arkiston tallennuksessa.

newEntrySettings ArchiveEntrySettings

Kompressiointi ja salaus asetukset käytetään lisäämään Aspose.Zip.ArchiveEntry elementti.

Returns

ArchiveEntry

Zip sisäänkäynti.

Examples

Koota arkistoja salattujen kirjoitusten kanssa eri salausmenetelmiä ja salasanoja kukin.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
        archive.CreateEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass2", EncryptionMethod.AES128)));
        archive.CreateEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass3", EncryptionMethod.AES256)));
        archive.Save(zipFile);
    }
}

Remarks

Sisällön nimi asetetaan vain parametrien sisällä. parametriin annettu tiedoston nimi ei vaikuta sisällön nimiin.

Jos tiedosto avautuu välittömästi parametrien avulla, se estetään, kunnes arkisto on tallennettu.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Määritetty reitti ei ole pätevä, esimerkiksi ollessa kartattoman ajoneuvon päällä.

IOException

Tiedosto on jo auki.

CreateEntry(virtaa, virtaa, ArchiveEntrySettings, FileSystemInfo)

Luo yksi kirja arkiston sisällä.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parameters

name string

Sisäänkäynnin nimi.

source Stream

Sisäänpääsy virtaa sisäänpääsyyn.

newEntrySettings ArchiveEntrySettings

Kompressiointi ja salaus asetukset käytetään lisäämään Aspose.Zip.ArchiveEntry elementti.

fileInfo FileSystemInfo

Tiedoston tai tiedoston metatiedot tulee kompressoida.

Returns

ArchiveEntry

Zip sisäänkäynti.

Examples

Laita arkisto salattuun sisäänkäyntiin.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF} ), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new FileInfo("data1.bin")); 
        archive.Save(zipFile);
    }
}

Remarks

Sisällön nimi asetetaan vain parametrien sisällä. parametriin annettu tiedoston nimi ei vaikuta sisällön nimiin.

voi viitata System.IO.DirectoryInfo, jos merkintä on luettelo.

Exceptions

InvalidOperationException

Sekä source’ että fileInfo’ ovat nolla tai source’ on nolla ja fileInfo’ on merkki.

CreateEntry(String ja Func, ArchiveEntrySettings)

Luo yksi kirja arkiston sisällä.

public ArchiveEntry CreateEntry(string name, Func<stream> streamProvider, ArchiveEntrySettings newEntrySettings = null)

Parameters

name string

Sisäänkäynnin nimi.

streamProvider Func < Stream >

Menetelmä, joka tarjoaa sisäänkäyntivirran sisäänkäynnille.

newEntrySettings ArchiveEntrySettings

Kompressiointi ja salaus asetukset käytetään lisäämään Aspose.Zip.ArchiveEntry elementti.

Returns

ArchiveEntry

Zip sisäänkäynti.

Examples

Laita arkisto salattuun sisäänkäyntiin.

System.Func&lt;Stream&gt; provider = delegate(){ return new MemoryStream(new byte[]{0xFF, 0x00}); };
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")))); 
        archive.Save(zipFile);
    }
}

Remarks

Tämä menetelmä soveltuu .NET Framework 4.0:een ja sen yläpuolelle sekä .NET Standard 2.0 -versioon.

DeleteEntry(ArchiveEntry)

Poistaa tiettyyn sisäänpääsyyn ensimmäisen esiintymisen sisäänpääsyluettelosta.

public Archive DeleteEntry(ArchiveEntry entry)

Parameters

entry ArchiveEntry

Sisäänpäätökset poistetaan luettelosta.

Returns

Archive

Arkisto, jossa on sisäänpääsy poistettu.

Examples

Tässä, miten voit poistaa kaikki kirjoitukset lukuun ottamatta viimeistä:

using (var archive = new Archive("archive.zip"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save("last_entry.zip");
}

Exceptions

ObjectDisposedException

Arkisto on poistettu.

DeleteEntry(Sisältää)

Poista sisäänkirjautuminen sisäänkirjautumislistasta indeksiin.

public Archive DeleteEntry(int entryIndex)

Parameters

entryIndex int

Sisäänpääsyn nolla-pohjainen indeksi poistetaan.

Returns

Archive

Arkisto, jossa on sisäänpääsy poistettu.

Examples

using (var archive = new TarArchive("two_files.zip"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.zip");
}

Exceptions

ObjectDisposedException

Arkisto on poistettu.

ArgumentOutOfRangeException

entryIndex’ is less than 0.-or- entryIndex’ is equal to or greater than ‘Entries’ count.

Dispose()

Se suorittaa sovellukseen määriteltyjä tehtäviä, jotka liittyvät vapauttamiseen, vapauttamiseen tai hallitsemattomien resurssien palauttamiseen.

public void Dispose()

Dispose(Booli)

Se suorittaa sovellukseen määriteltyjä tehtäviä, jotka liittyvät vapauttamiseen, vapauttamiseen tai hallitsemattomien resurssien palauttamiseen.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Hallittuja resursseja on käytettävä.

ExtractToDirectory(String)

Poistaa kaikki tiedostot arkistosta annettuun luetteloon.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Matka direktoriin sijoittaa poistettuja tiedostoja.

Examples

using (var archive = new Archive("archive.zip")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Jos rekisteri ei ole olemassa, se luodaan.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Tietyt reitit, tiedoston nimi tai molemmat ylittävät järjestelmän määrittämän enimmäispituuden. Esimerkiksi Windows-pohjaisissa alustoissa reitit on oltava alle 248 merkkiä ja tiedoston nimet on oltava alle 260 merkkiä.

SecurityException

Kääntäjällä ei ole tarvittavaa lupaa käyttää olemassa olevaa direktoria.

NotSupportedException

Jos luetteloa ei ole olemassa, reitillä on rintakehän merkki (:) joka ei ole osa ohjaimen merkkiä (“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

Reitin mukainen luettelo on tiedosto. -or- Verkon nimi ei ole tiedossa.

InvalidDataException

Virheellinen salasana on toimitettu. - tai - Arkisto on korruptoitu.

Save(Virta, ArchiveSaveOptions)

Säästää arkistoa tarjottuun virtaukseen.

public void Save(Stream outputStream, ArchiveSaveOptions saveOptions = null)

Parameters

outputStream Stream

Tavoitteen virta.

saveOptions ArchiveSaveOptions

Vaihtoehtoja arkiston säästämiseen.

Examples

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry.bin", "data.bin");
        archive.Save(zipFile);
    }
}

Remarks

Pitää olla kirjoitettavaa.

Exceptions

ArgumentException

outputStream’ is not writable.

ObjectDisposedException

Arkisto on poistettu.

Save(Tiiviste, ArchiveSaveOptions)

Tallenna arkistoa osoitustiedostoon.

public void Save(string destinationFileName, ArchiveSaveOptions saveOptions = null)

Parameters

destinationFileName string

Jos tiedoston nimi viittaa olemassa olevaan tiedostoon, se kirjoitetaan uudelleen.

saveOptions ArchiveSaveOptions

Vaihtoehtoja arkiston säästämiseen.

Examples

using (var archive = new Archive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.Save("archive.zip",  new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
}

Remarks

On mahdollista tallentaa arkisto samalle tielle kuin se ladattiin. kuitenkin, tämä ei ole suositeltavaa, koska tämä lähestymistapa käyttää kopiointia tilapäiseen tiedostoon.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Kääntäjällä ei ole tarvittavaa käyttöoikeutta.

ArgumentException

destinationFileName’ on tyhjä, sisältää vain valkoisia tiloja tai sisältää epätasaisia merkkejä.

UnauthorizedAccessException

Pääsy destinationFileName’ -tiedostoon kielletään.

PathTooLongException

Määritetty destinationFileName’, tiedoston nimi, tai molemmat ylittävät järjestelmän määrittelemän enimmäispituuden.Esimerkiksi Windows-pohjaisilla alustoilla reitin on oltava alle 248 merkkiä ja tiedoston nimet on oltava alle 260 merkkiä.

NotSupportedException

Tiedosto destinationFileName’ sisältää sarjan keskellä olevan sarjan (:) sarjan.

FileNotFoundException

Tiedostoa ei löydy.

DirectoryNotFoundException

Määritetty reitti ei ole pätevä, esimerkiksi ollessa kartattoman ajoneuvon päällä.

IOException

Tiedosto on jo auki.

SaveSplit(rivi, SplitArchiveSaveOptions)

Säästää monimuotoista arkistoa annettuun kohderekisteriin.

public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)

Parameters

destinationDirectory string

Matka direktoriin, jossa arkistosegmentit luodaan.

options SplitArchiveSaveOptions

Vaihtoehdot arkiston tallentamiseen, mukaan lukien tiedoston nimi.

Examples

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

Remarks

Tämä menetelmä koostuu useista () tiedostoista filename.z01, filename.z02, …, filename.z(n-1), filename.zip.

Ei voi tehdä olemassa olevaa arkistoa monimuotoista.

Exceptions

InvalidOperationException

Tämä arkisto on avattu olemassa olevasta lähteestä.

NotSupportedException

Tämä arkisto on sekä tiivistetty XZ-menetelmällä että salattu.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Kääntäjällä ei ole tarvittavaa lupaa tutustua direktoriin.

ArgumentException

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

PathTooLongException

Määritetty reitti ylittää järjestelmän määrittämän enimmäispituuden.

ObjectDisposedException

Arkisto on poistettu.

 Suomi