Class Archive

Class Archive

Pôvodný názov: Aspose.Zip Zhromaždenie: Aspose.Zip.dll (25.5.0)

Táto trieda predstavuje zip archív súbor. Použite ho na zloženie, extrahovať alebo aktualizovať zip súbory.

public class Archive : IArchive, IDisposable

Inheritance

object Archive

Implements

IArchive , IDisposable

Z dedičných členov

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

Constructors

Archive(ArchiveEntrySettings)

Initalizuje novú inštanciu triedy Aspose.Zip.Archive s voliteľnými nastavením pre jej záznamy.

public Archive(ArchiveEntrySettings newEntrySettings = null)

Parameters

newEntrySettings ArchiveEntrySettings

Kompresia a šifrovanie nastavenia používané pre nové pridané položky Aspose.Zip.ArchiveEntry.Ak nie je uvedené, najčastejšie Deflate kompresiu bez šifrovania by sa používal.

Examples

Nasledujúci príklad ukazuje, ako komprimovať jeden súbor s predvolenými nastavením.

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, ArchívLoadOptions, ArchívEntrySettings)

Initalizuje novú inštanciu triedy Aspose.Zip.Archive a skladá zoznam vstupov, ktoré možno vytiahnuť z archívu.

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

Parameters

sourceStream Stream

zdrojom archívu.

loadOptions ArchiveLoadOptions

Možnosti načítania existujúcich archívov.

newEntrySettings ArchiveEntrySettings

Kompresia a šifrovanie nastavenia používané pre nové pridané položky Aspose.Zip.ArchiveEntry.Ak nie je uvedené, najčastejšie Deflate kompresiu bez šifrovania by sa používal.

Examples

Nasledujúci príklad extrahuje šifrovaný archív, potom dekompresuje prvý vstup do .

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

Tento konštruktor dekompresuje žiadne vstupy. pozri Aspose.Zip.ArchiveEntry.Open(System.String) metóda dekompresovania.

Exceptions

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

Názov šifrovania pre AES je v rozpore s metódou kompresie WinZip.

Archive(String, ArchívLoadOptions, ArchívEntrySettings)

Initalizuje novú inštanciu triedy Aspose.Zip.Archive a skladá zoznam vstupov, ktoré možno vytiahnuť z archívu.

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

Parameters

path string

Plne kvalifikovaný alebo relatívna cesta k archívnemu súboru.

loadOptions ArchiveLoadOptions

Možnosti načítania existujúcich archívov.

newEntrySettings ArchiveEntrySettings

Kompresia a šifrovanie nastavenia používané pre nové pridané položky Aspose.Zip.ArchiveEntry.Ak nie je uvedené, najčastejšie Deflate kompresiu bez šifrovania by sa používal.

Examples

Nasledujúci príklad extrahuje šifrovaný archív, potom dekompresuje prvý vstup do .

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

Tento konštruktor dekompresuje žiadne vstupy. pozri Aspose.Zip.ArchiveEntry.Open(System.String) metóda dekompresovania.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Návštevník nemá požadované povolenie na prístup.

ArgumentException

path’ je prázdna, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.

UnauthorizedAccessException

Prístup k súboru path" je zamietnutý.

PathTooLongException

Názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad, na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.

NotSupportedException

Súbor na path’ obsahuje stĺpec (:) v strede riadku.

FileNotFoundException

Súbor sa nenašiel.

DirectoryNotFoundException

Uvedená trasa je neplatná, napr. byť na nezamestnanom disku.

IOException

Súbor je už otvorený.

InvalidDataException

Súbor je korumpovaný.

Archive(Stringová, Stringová[], ArchívLoadOptions)

Initalizuje nový príklad triedy Aspose.Zip.Archive z multi-volume zip archív a skladá zoznam vstupov, ktoré možno vytiahnuť z archívu.

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

Parameters

mainSegment string

Cesta do posledného segmentu viacvolumenového archívu s centrálnym adresárom.

Zvyčajne tento segment má rozšírenie *.zip a je menší ako ostatné.

segmentsInOrder string []

Cesty do každého segmentu, ale posledný multi-volume zip archív dodržiava objednávku.

Zvyčajne nazývajú filename.z01, filename.z02, …, filename.z(n-1).

loadOptions ArchiveLoadOptions

Možnosti načítania existujúcich archívov.

Examples

Tento vzorec extrahuje do katalógu archív troch segmentov.

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

Exceptions

EndOfStreamException

Nemôžete nahrať hlavice ZIP, pretože poskytnuté súbory sú korumpované.

Properties

Entries

Získava záznamy typu Aspose.Zip.ArchiveEntry, ktorý tvorí archív.

public ReadOnlyCollection<archiveentry> Entries { get; }

Hodnota nehnuteľnosti

ReadOnlyCollection < ArchiveEntry >

NewEntrySettings

Kompresia a šifrovanie nastavenia používané pre nové pridané položky Aspose.Zip.ArchiveEntry.

public ArchiveEntrySettings NewEntrySettings { get; }

Hodnota nehnuteľnosti

ArchiveEntrySettings

Methods

CreateEntries(Úvodná stránka > Bool)

Pridajte do archívu všetky súbory a adresáre opakovane v danom adresári.

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

Parameters

directory DirectoryInfo

Príručka na kompresiu.

includeRootDirectory bool

Ukazuje, či zahŕňať samotný koreňový adresár alebo nie.

Returns

Archive

Archív s skladateľnými záznammi.

Examples

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

Exceptions

DirectoryNotFoundException

Cesta do adresára directory’ je neplatná, napríklad byť na nezapísanom disku.

SecurityException

Volávač nemá požadované povolenie na prístup k directory".

CreateEntries(striekačka, bool)

Pridajte do archívu všetky súbory a adresáre opakovane v danom adresári.

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

Parameters

sourceDirectory string

Príručka na kompresiu.

includeRootDirectory bool

Ukazuje, či zahŕňať samotný koreňový adresár alebo nie.

Returns

Archive

Archív s skladateľnými záznammi.

Examples

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

CreateEntry(string, string, bool, archívEntrySettings)

Vytvorte jediný vstup v archíve.

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

Parameters

name string

Názov vstupu.

path string

Plne kvalifikovaný názov nového súboru alebo relatívny názov súboru, ktorý sa má stlačiť.

openImmediately bool

Je pravda, že ak otvoríte súbor ihneď, inak otvoríte súbor na archívnom úložisku.

newEntrySettings ArchiveEntrySettings

Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.

Returns

ArchiveEntry

ZIP vstupná inštancia.

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

Názov súboru uvedený v paramete nemá vplyv na názov súboru.

Ak sa súbor otvorí okamžite s parametrom, blokuje sa, kým sa archív nezachráni.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Návštevník nemá požadované povolenie na prístup.

ArgumentException

path’ je prázdna, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.

UnauthorizedAccessException

Prístup k súboru path" je zamietnutý.

PathTooLongException

Názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad, na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.

NotSupportedException

Súbor na path’ obsahuje stĺpec (:) v strede riadku.

CreateEntry(String, Stream, ArchívEntrySettings)

Vytvorte jediný vstup v archíve.

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

Parameters

name string

Názov vstupu.

source Stream

Vstupný prúd pre vstup.

newEntrySettings ArchiveEntrySettings

Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.

Returns

ArchiveEntry

ZIP vstupná inštancia.

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, ArchívEntrySettings)

Vytvorte jediný vstup v archíve.

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

Parameters

name string

Názov vstupu.

fileInfo FileInfo

Metadata súboru by mali byť komprimované.

openImmediately bool

Je pravda, že ak otvoríte súbor ihneď, inak otvoríte súbor na archívnom úložisku.

newEntrySettings ArchiveEntrySettings

Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.

Returns

ArchiveEntry

ZIP vstupná inštancia.

Examples

Zložte archív s záznammi šifrovanými rôznymi šifrovanými metódami a heslami.

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

Názov súboru uvedený v paramete nemá vplyv na názov súboru.

Ak sa súbor otvorí okamžite s parametrom, blokuje sa, kým sa archív nezachráni.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Uvedená trasa je neplatná, napr. byť na nezamestnanom disku.

IOException

Súbor je už otvorený.

CreateEntry(struny, Stream, ArchiveEntrySettings, FileSystemInfo)

Vytvorte jediný vstup v archíve.

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

Parameters

name string

Názov vstupu.

source Stream

Vstupný prúd pre vstup.

newEntrySettings ArchiveEntrySettings

Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.

fileInfo FileSystemInfo

Metadata súboru alebo priečinka sa majú komprimovať.

Returns

ArchiveEntry

ZIP vstupná inštancia.

Examples

Zložte archív s šifrovaným vstupom.

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

Názov súboru uvedený v paramete nemá vplyv na názov súboru.

môžete odkazovať na System.IO.DirectoryInfo, ak je záznam adresára.

Exceptions

InvalidOperationException

Obidve source’ a fileInfo’ sú null alebo source’ je null a fileInfo’ je pre adresár.

CreateEntry(Príslušenstvo pre String, Func, ArchívyEntrySettings)

Vytvorte jediný vstup v archíve.

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

Parameters

name string

Názov vstupu.

streamProvider Func < Stream >

Metóda poskytuje vstupný prúd pre vstup.

newEntrySettings ArchiveEntrySettings

Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.

Returns

ArchiveEntry

ZIP vstupná inštancia.

Examples

Zložte archív s šifrovaným vstupom.

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áto metóda je pre .NET Framework 4.0 a vyššie a pre .NET Standard 2.0 verziu.

DeleteEntry(ArchiveEntry)

Odstráni prvý výskyt konkrétneho vstupu z zoznamu vstupov.

public Archive DeleteEntry(ArchiveEntry entry)

Parameters

entry ArchiveEntry

Vstup na odstránenie z zoznamu vstupov.

Returns

Archive

Archív s vstupom je odstránený.

Examples

Tu je, ako môžete odstrániť všetky záznamy s výnimkou posledného:

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

Archív je odstránený.

DeleteEntry(int)

Odstrániť vstup z vstupného zoznamu podľa indexu.

public Archive DeleteEntry(int entryIndex)

Parameters

entryIndex int

Null-based index vstupu odstrániť.

Returns

Archive

Archív s vstupom je odstránený.

Examples

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

Exceptions

ObjectDisposedException

Archívy sú odstránené.

ArgumentOutOfRangeException

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

Dispose()

Vykonáva aplikované úlohy spojené s uvoľňovaním, uvoľňovaním alebo resetovaním neupravených zdrojov.

public void Dispose()

Dispose(bool)

Vykonáva aplikované úlohy spojené s uvoľňovaním, uvoľňovaním alebo resetovaním neupravených zdrojov.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Mali by sa riadiť riadené zdroje.

ExtractToDirectory(Stretnutie)

Vytiahne všetky súbory v archíve do poskytnutého katalógu.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Cesta do adresára umiestniť extrahované súbory do.

Examples

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

Remarks

Ak katalóg neexistuje, vytvorí sa.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Ustanovená trasa, názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad na platformách založených na systéme Windows musia byť trasy menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.

SecurityException

Návštevník nemá požadované povolenie na prístup k existujúcemu adresáru.

NotSupportedException

Ak adresár neexistuje, cesta obsahuje znak kolónu (:) ktorý nie je súčasťou označenia disku (“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

Katalóg špecifikovaný cestou je súbor. -or- Názov siete nie je známy.

InvalidDataException

Nesprávne heslo bolo poskytnuté. - alebo - Archív je korumpovaný.

Save(Stream, ArchívSaveOptions)

Úspora archívov na poskytnutý prúd.

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

Parameters

outputStream Stream

Cestovný prúd .

saveOptions ArchiveSaveOptions

Možnosti úspory archívov.

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

Musí byť písateľná.

Exceptions

ArgumentException

outputStream’ is not writable.

ObjectDisposedException

Archív je odstránený.

Save(String, ArchívSaveOptions)

Uloží archív do poskytnutého cieľového súboru.

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

Parameters

destinationFileName string

Ak sa špecifikovaný názov súboru odkazuje na existujúci súbor, bude prepisovaný.

saveOptions ArchiveSaveOptions

Možnosti úspory archívov.

Examples

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

Remarks

Je možné uložiť archív na rovnakú cestu, ako bola naložená z. Avšak, to sa neodporúča, pretože tento prístup používa kopírovanie do dočasného súboru.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Návštevník nemá požadované povolenie na prístup.

ArgumentException

destinationFileName’ je prázdny, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.

UnauthorizedAccessException

Prístup k súboru destinationFileName’ je zamietnutý.

PathTooLongException

Určená destinationFileName’, názov súboru, alebo obaja presahujú systémovo definovanú maximálnu dĺžku.Napríklad na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.

NotSupportedException

Súbor v destinationFileName’ obsahuje stĺpec (:) v strede riadku.

FileNotFoundException

Súbor sa nenašiel.

DirectoryNotFoundException

Uvedená trasa je neplatná, napr. byť na nezamestnanom disku.

IOException

Súbor je už otvorený.

SaveSplit(Príslušenstvo, SplitArchiveSaveOptions)

Ušetrí multi-volume archív do adresára určenia poskytnutého.

public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)

Parameters

destinationDirectory string

Cesta k katalógu, kde sa vytvoria archívne segmenty.

options SplitArchiveSaveOptions

Možnosti ukladania archívov vrátane názvu súboru.

Examples

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

Remarks

Táto metóda skladá niekoľko () súborov filename.z01, filename.z02, …, filename.z(n-1), filename.zip.

Nie je možné vytvoriť existujúce archívy multi-volume.

Exceptions

InvalidOperationException

Tento archív bol otvorený z existujúceho zdroja.

NotSupportedException

Tento archív je komprimovaný pomocou metódy XZ a šifrovaný.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Návštevník nemá požadované povolenie na prístup k adresári.

ArgumentException

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

PathTooLongException

Stanovená trasa presahuje maximálnu dĺžku stanovenú systémom.

ObjectDisposedException

Archív je odstránený.

 Slovenčina