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
Implements
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
sourceStream’ is not seekable.
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
path’ is null.
Kääntäjällä ei ole tarvittavaa käyttöoikeutta.
path’ on tyhjä, sisältää vain valkoisia tiloja tai sisältää epätasaisia merkkejä.
Pääsy path" -tiedostoon kielletään.
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ä.
path’ -tiedosto sisältää sarjan keskellä olevan sarjan (:) sarjan.
Tiedostoa ei löydy.
Määritetty reitti ei ole pätevä, esimerkiksi ollessa kartattoman ajoneuvon päällä.
Tiedosto on jo auki.
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
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
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
Arkisto, jossa on kirjoituksia.
Examples
using (Archive archive = new Archive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.zip");
}
Exceptions
Matka direktiiviin" on vaadittava, esimerkiksi ollessa kartattamatta.
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
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
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
path’ is null.
Kääntäjällä ei ole tarvittavaa käyttöoikeutta.
path’ on tyhjä, sisältää vain valkoisia tiloja tai sisältää epätasaisia merkkejä.
Pääsy path" -tiedostoon kielletään.
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ä.
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
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
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
fileInfo’ is read-only or is a directory.
Määritetty reitti ei ole pätevä, esimerkiksi ollessa kartattoman ajoneuvon päällä.
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
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
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
Zip sisäänkäynti.
Examples
Laita arkisto salattuun sisäänkäyntiin.
System.Func<Stream> 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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save("last_entry.zip");
}
Exceptions
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
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
Arkisto on poistettu.
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
destinationDirectory’ is null.
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ä.
Kääntäjällä ei ole tarvittavaa lupaa käyttää olemassa olevaa direktoria.
Jos luetteloa ei ole olemassa, reitillä on rintakehän merkki (:) joka ei ole osa ohjaimen merkkiä (“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 (:).
Reitin mukainen luettelo on tiedosto. -or- Verkon nimi ei ole tiedossa.
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
outputStream’ is not writable.
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
destinationFileName’ is null.
Kääntäjällä ei ole tarvittavaa käyttöoikeutta.
destinationFileName’ on tyhjä, sisältää vain valkoisia tiloja tai sisältää epätasaisia merkkejä.
Pääsy destinationFileName’ -tiedostoon kielletään.
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ä.
Tiedosto destinationFileName’ sisältää sarjan keskellä olevan sarjan (:) sarjan.
Tiedostoa ei löydy.
Määritetty reitti ei ole pätevä, esimerkiksi ollessa kartattoman ajoneuvon päällä.
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
Tämä arkisto on avattu olemassa olevasta lähteestä.
Tämä arkisto on sekä tiivistetty XZ-menetelmällä että salattu.
destinationDirectory’ is null.
Kääntäjällä ei ole tarvittavaa lupaa tutustua direktoriin.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Määritetty reitti ylittää järjestelmän määrittämän enimmäispituuden.
Arkisto on poistettu.