Class Archive

Class Archive

De naam: Aspose.Zip Verzameling: Aspose.Zip.dll (25.5.0)

Deze klasse vertegenwoordigt een zip archiefbestand. Gebruik het om te composeren, extraheren of updaten zip-bestanden.

public class Archive : IArchive, IDisposable

Inheritance

object Archive

Implements

IArchive , IDisposable

Geëerbiede leden

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

Constructors

Archive(ArchiveEntrySettings)

Initialiseert een nieuwe instantie van de Aspose.Zip.Archive-klasse met optionele instellingen voor de inzichten.

public Archive(ArchiveEntrySettings newEntrySettings = null)

Parameters

newEntrySettings ArchiveEntrySettings

Compression en encryptie instellingen gebruikt voor nieuw toegevoegde Aspose.Zip.ArchiveEntry items.Als niet aangegeven, de meest voorkomende Deflate compression zonder encryptie zou worden gebruikt.

Examples

Het volgende voorbeeld laat zien hoe u een enkele bestand met standaardinstellingen kunt compresseren.

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

Archive(Stream, ArchiveLoadOptions, ArchiveEntrySettings)

Initialiseert een nieuwe instantie van de Aspose.Zip.Archive-klasse en maakt een inlijstlijst die uit het archief kan worden geïntroduceerd.

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

Parameters

sourceStream Stream

De bron van het archief.

loadOptions ArchiveLoadOptions

Opties om bestaande archief met te laden.

newEntrySettings ArchiveEntrySettings

Compression en encryptie instellingen gebruikt voor nieuw toegevoegde Aspose.Zip.ArchiveEntry items.Als niet aangegeven, de meest voorkomende Deflate compression zonder encryptie zou worden gebruikt.

Examples

Het volgende voorbeeld extract een versleutelde archief, vervolgens dekomprimeert de eerste ingang naar een .

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

Deze constructor decomprimeert geen ingang. zie Aspose.Zip.ArchiveEntry.Open(System.String) methode voor decompressie.

Exceptions

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

Encryptie header voor AES is in strijd met WinZip compressie methode.

Archive(string, ArchiveLoadOptions, ArchiveEntrySettings)

Initialiseert een nieuwe instantie van de Aspose.Zip.Archive-klasse en maakt een inlijstlijst die uit het archief kan worden geïntroduceerd.

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

Parameters

path string

De volledig gekwalificeerde of de relatieve route naar het archiefbestand.

loadOptions ArchiveLoadOptions

Opties om bestaande archief met te laden.

newEntrySettings ArchiveEntrySettings

Compression en encryptie instellingen gebruikt voor nieuw toegevoegde Aspose.Zip.ArchiveEntry items.Als niet aangegeven, de meest voorkomende Deflate compression zonder encryptie zou worden gebruikt.

Examples

Het volgende voorbeeld extract een versleutelde archief, vervolgens dekomprimeert de eerste ingang naar een .

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

Deze constructor decomprimeert geen ingang. zie Aspose.Zip.ArchiveEntry.Open(System.String) methode voor decompressie.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.

ArgumentException

De path’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.

UnauthorizedAccessException

De toegang tot het bestand path’ wordt geweigerd.

PathTooLongException

De aangegeven path’, bestandsnaam, of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.

NotSupportedException

Het bestand op path’ bevat een kolom (:) in het midden van de string.

FileNotFoundException

Het bestand is niet gevonden.

DirectoryNotFoundException

De aangegeven route is ongeldig, bijvoorbeeld op een onmapped drive.

IOException

Het bestand is al open.

InvalidDataException

Het bestand is corrupt.

Archive(String en String[], ArchiveLoadOptions)

Initialiseert een nieuwe instantie van de Aspose.Zip.Archive-klasse uit het multi-volume zip-archief en maakt een inlijstlijst die uit het archief kan worden geïntroduceerd.

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

Parameters

mainSegment string

Weg naar het laatste segment van multi-volume archief met de centrale directory.

Meestal heeft dit segment een *.zip-uitbreiding en kleiner dan anderen.

segmentsInOrder string []

Paths naar elk segment maar de laatste van multi-volume zip archief respecteren order.

Meestal namen ze filename.z01, filename.z02, …, filename.z(n-1).

loadOptions ArchiveLoadOptions

Opties om bestaande archief met te laden.

Examples

Dit monster extract in een directory een archief van drie segmenten.

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

Exceptions

EndOfStreamException

Het is niet mogelijk om ZIP-headsers te laden omdat de verstrekte bestanden corrupt zijn.

Properties

Entries

Geeft input van Aspose.Zip.ArchiveEntry type die het archief vormt.

public ReadOnlyCollection<archiveentry> Entries { get; }

Eigendomswaarde

ReadOnlyCollection < ArchiveEntry >

NewEntrySettings

Compression en encryptie instellingen gebruikt voor nieuw toegevoegde Aspose.Zip.ArchiveEntry items.

public ArchiveEntrySettings NewEntrySettings { get; }

Eigendomswaarde

ArchiveEntrySettings

Methods

CreateEntries(DirectoryInfo, Bool)

Voeg in het archief alle bestanden en directories opnieuw toe in de gegeven directory.

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

Parameters

directory DirectoryInfo

Directory voor compressie.

includeRootDirectory bool

Hiermee wordt aangegeven of de root directory zelf moet worden opgenomen of niet.

Returns

Archive

Het archief met ingeschreven inzichten.

Examples

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

Exceptions

DirectoryNotFoundException

De route naar directory’ is ongeldig, bijvoorbeeld op een niet-mapped schijf.

SecurityException

De oproeker heeft niet de vereiste toestemming om toegang te krijgen tot directory'.

CreateEntries(String en Bool)

Voeg in het archief alle bestanden en directories opnieuw toe in de gegeven directory.

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

Parameters

sourceDirectory string

Directory voor compressie.

includeRootDirectory bool

Hiermee wordt aangegeven of de root directory zelf moet worden opgenomen of niet.

Returns

Archive

Het archief met ingeschreven inzichten.

Examples

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

CreateEntry(string, string, bool, ArchiveEntrySettings)

Creëren van een enkele ingang binnen het archief.

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

Parameters

name string

De naam van de ingang.

path string

De volledig gekwalificeerde naam van de nieuwe bestand, of de relatieve bestandnaam om te worden gecomprimeerd.

openImmediately bool

Het is waar, als u het bestand onmiddellijk opent, anders opent u het bestand op archiefopslag.

newEntrySettings ArchiveEntrySettings

Compression en encryptie instellingen gebruikt voor het toevoegen van Aspose.Zip.ArchiveEntry item.

Returns

ArchiveEntry

Zip ingang instantie.

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

De invoernaam is uitsluitend ingesteld binnen de parameter.De in de parameter verstrekte bestandnaam beïnvloedt de invoernaam niet.

Als het bestand onmiddellijk wordt geopend met de parameter wordt het geblokkeerd totdat het archief is opgeslagen.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.

ArgumentException

De path’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.

UnauthorizedAccessException

De toegang tot het bestand path’ wordt geweigerd.

PathTooLongException

De aangegeven path’, bestandsnaam, of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.

NotSupportedException

Het bestand op path’ bevat een kolom (:) in het midden van de string.

CreateEntry(String, Stream en ArchiveEntrySettings)

Creëren van een enkele ingang binnen het archief.

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

Parameters

name string

De naam van de ingang.

source Stream

De ingangstromen voor de ingang.

newEntrySettings ArchiveEntrySettings

Compression en encryptie instellingen gebruikt voor het toevoegen van Aspose.Zip.ArchiveEntry item.

Returns

ArchiveEntry

Zip ingang instantie.

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(string, FileInfo, bool, ArchiveEntrySettings)

Creëren van een enkele ingang binnen het archief.

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

Parameters

name string

De naam van de ingang.

fileInfo FileInfo

De metadata van het bestand moeten worden gecomprimeerd.

openImmediately bool

Het is waar, als u het bestand onmiddellijk opent, anders opent u het bestand op archiefopslag.

newEntrySettings ArchiveEntrySettings

Compression en encryptie instellingen gebruikt voor het toevoegen van Aspose.Zip.ArchiveEntry item.

Returns

ArchiveEntry

Zip ingang instantie.

Examples

Compose archief met ingangen gecodeerd met verschillende encryptie methoden en wachtwoorden elk.

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

De invoernaam is uitsluitend ingesteld binnen de parameter.De in de parameter verstrekte bestandnaam beïnvloedt de invoernaam niet.

Als het bestand onmiddellijk wordt geopend met de parameter wordt het geblokkeerd totdat het archief is opgeslagen.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

De aangegeven route is ongeldig, bijvoorbeeld op een onmapped drive.

IOException

Het bestand is al open.

CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

Creëren van een enkele ingang binnen het archief.

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

Parameters

name string

De naam van de ingang.

source Stream

De ingangstromen voor de ingang.

newEntrySettings ArchiveEntrySettings

Compression en encryptie instellingen gebruikt voor het toevoegen van Aspose.Zip.ArchiveEntry item.

fileInfo FileSystemInfo

De metadata van het bestand of de map om te worden gecomprimeerd.

Returns

ArchiveEntry

Zip ingang instantie.

Examples

Compose archief met een versleutelde ingang.

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

De invoernaam is uitsluitend ingesteld binnen de parameter.De in de parameter verstrekte bestandnaam beïnvloedt de invoernaam niet.

kan verwijzen naar System.IO.DirectoryInfo als de ingang een directory is.

Exceptions

InvalidOperationException

Beide source’ en fileInfo’ zijn nul of source’ is nul en fileInfo’ staat voor directory.

CreateEntry(String, Func , ArchievenEntrySettings)

Creëren van een enkele ingang binnen het archief.

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

Parameters

name string

De naam van de ingang.

streamProvider Func < Stream >

De methode die de ingangstromen voor de ingang biedt.

newEntrySettings ArchiveEntrySettings

Compression en encryptie instellingen gebruikt voor het toevoegen van Aspose.Zip.ArchiveEntry item.

Returns

ArchiveEntry

Zip ingang instantie.

Examples

Compose archief met een versleutelde ingang.

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

Deze methode is voor .NET Framework 4.0 en hoger en voor .NET Standard 2.0 versie.

DeleteEntry(ArchiveEntry)

Verwijder de eerste verschijning van de specifieke ingang uit de inganglijst.

public Archive DeleteEntry(ArchiveEntry entry)

Parameters

entry ArchiveEntry

De ingang om te verwijderen uit de inganglijst.

Returns

Archive

Het archief met de ingang is verwijderd.

Examples

Hier is hoe u alle inschrijvingen kunt verwijderen met uitzondering van de laatste:

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

Het archief is uitgeschakeld.

DeleteEntry(Int)

Verwijder de ingang van de inganglijst door index.

public Archive DeleteEntry(int entryIndex)

Parameters

entryIndex int

De nulgebaseerde index van de ingang te verwijderen.

Returns

Archive

Het archief met de ingang is verwijderd.

Examples

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

Exceptions

ObjectDisposedException

Het archief is uitgeschakeld.

ArgumentOutOfRangeException

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

Dispose()

Het vervult toepasselijk gedefinieerde taken die verband houden met het vrijgeven, vrijgeven of herstructureren van onbeheerde middelen.

public void Dispose()

Dispose(Bool)

Het vervult toepasselijk gedefinieerde taken die verband houden met het vrijgeven, vrijgeven of herstructureren van onbeheerde middelen.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Of de beheerde middelen moeten worden afgebroken.

ExtractToDirectory(String)

Extract alle bestanden in het archief naar het verstrekte directory.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

De route naar het directory om de geïntroduceerde bestanden in te plaatsen.

Examples

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

Remarks

Als de directory niet bestaat, wordt deze gemaakt.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

De aangegeven pad, bestandnaam of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms moeten paden minder dan 248 tekens en bestandnamen moeten minder dan 260 tekens zijn.

SecurityException

De oproepgever heeft niet de vereiste toestemming om toegang te krijgen tot de bestaande directory.

NotSupportedException

Als de directory niet bestaat, bevat de route een colon karakter (:) dat niet deel uitmaakt van een drive label (“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

De door de route aangegeven directory is een bestand. -or- De netwerknaam is niet bekend.

InvalidDataException

Het verkeerde wachtwoord is verstrekt. - of - Het archief is corrupt.

Save(Stream, ArchiveSaveOptions)

Speel archief op de geleverde stroom.

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

Parameters

outputStream Stream

De bestemming stroom.

saveOptions ArchiveSaveOptions

Opties voor archiefbesparing.

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

moet geschreven zijn.

Exceptions

ArgumentException

outputStream’ is not writable.

ObjectDisposedException

Het archief is uitgeschakeld.

Save(String, ArchiefSaveOptions)

Het archief wordt opgeslagen naar het bestand van bestemming.

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

Parameters

destinationFileName string

De route van het archief om te worden gecreëerd.Als de aangegeven bestandnaam wijst op een bestaande bestand, wordt het overgeschreven.

saveOptions ArchiveSaveOptions

Opties voor archiefbesparing.

Examples

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

Remarks

Het is mogelijk om een archief op te slaan op dezelfde route als het is geladen van. echter, dit is niet aanbevolen omdat deze benadering gebruikt het kopiëren naar een tijdelijke bestand.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.

ArgumentException

De destinationFileName’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.

UnauthorizedAccessException

De toegang tot het bestand destinationFileName’ wordt geweigerd.

PathTooLongException

De aangegeven destinationFileName’, bestandsnaam, of beide overschrijden de systeemdefinieerde maximale lengte.Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.

NotSupportedException

Het bestand bij destinationFileName’ bevat een kolom (:) in het midden van de string.

FileNotFoundException

Het bestand is niet gevonden.

DirectoryNotFoundException

De aangegeven route is ongeldig, bijvoorbeeld op een onmapped drive.

IOException

Het bestand is al open.

SaveSplit(String, SplitArchiveSaveOptions)

Bespaart het multi-volume archief naar het bestemmingsdirector dat is verstrekt.

public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)

Parameters

destinationDirectory string

De route naar de directory waar archiefsegmenten moeten worden gecreëerd.

options SplitArchiveSaveOptions

Opties voor het opslaan van bestanden, met inbegrip van bestandnaam.

Examples

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

Remarks

Deze methode bestaat uit verschillende () bestanden filename.z01, filename.z02, …, filename.z(n-1), filename.zip.

Het is niet mogelijk om bestaande archief multi-volume te maken.

Exceptions

InvalidOperationException

Dit archief is vanaf de bestaande bron geopend.

NotSupportedException

Dit archief wordt zowel gecomprimeerd met de XZ-methode als versleuteld.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

De oproeker heeft niet de vereiste toestemming om toegang te krijgen tot de directory.

ArgumentException

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

PathTooLongException

De aangegeven route overschrijdt de door het systeem gedefinieerde maximale lengte.

ObjectDisposedException

Het archief is uitgeschakeld.

 Nederlands